2017-03-14 8 views
0

내 앱에서 WebView을 사용하고 있습니다. 그것은 다른 모든 OS에서 Jelley 빈 4.2.2 장치에서만 일어나고Android 젤리 4.2.2 - webview XMLHttpRequest를로드 할 수 없습니다.

XMLHttpRequest cannot load https://*****/support/create_ticket. Request header field Content-Type is not allowed by Access-Control-Allow-Headers. at null:1

이 잘 작동 것 : 내 제 요구가이 오류를 진행할 수 없습니다 POST 메소드를 호출하기 위해 노력하고있어.

도움을 주셔서 감사합니다. 당신은 이것도 추가해야 할 수도 있습니다

Map<String, String> extraHeaders=new HashMap<>(); 
extraHeaders.put("Access-Control-Allow-Origin","*"); 
extraHeaders.put("Access-Control-Allow-Headers","Origin, X-Requested-With, Content-Type, Accept"); 

:

답변

0

것은이 헤더를 요청에 추가

RestAPI.Groups = $resource('groups/:id', { 
    id: '@id' 
}, { 
    get: { 
     method: "GET", 
     KalseferPrivateAPI: true, 
     interceptor: Interceptors.get 
    }, 
    join: method: "POST", 
    KalseferPrivateAPI: true, 
    interceptor: Interceptors.post, 
    headers: { 
     'Access-Control-Allow-Origin:*', 
     'Access-Control-Allow-Headers:Origin, X-Requested-With, Content-Type, Accept', 
     'Access-Control-Allow-Methods:POST' 
    }, 
    url: 'groups/join' 
}, addMember: { 
    method: "POST", 
    KalseferPrivateAPI: true, 
    interceptor: Interceptors.post, 
    headers: { 
     'Access-Control-Allow-Origin:*', 
     'Access-Control-Allow-Headers:Origin, X-Requested-With, Content-Type, Accept', 
     'Access-Control-Allow-Methods:POST' 
    }, 
    url: 'groups/:id/users/:users', 
    params: { 
     id: '@id', 
     users: '@users' 
    } 
} 
}); 
:

extraHeaders.put("Access-Control-Allow-Methods","POST");//you add more:"GET, POST, PUT" 

이 --- 당신의 코드를 기반으로 업데이트, 여기에 조정이다

도움이되기를 바랍니다. '

+0

질문을 수정하고 싶습니다. webview에 URL을로드하고이 페이지에서 우리가 클릭 한 후에 오류가 발생하는 자바 스크립트 함수를 호출하는 버튼이 있습니다. XMLHttpRequest는 https : // ***를로드 할 수 없습니다. **/support/create_ticket. 요청 헤더 필드 Content-Type은 Access-Control-Allow-Headers에서 허용되지 않습니다. at null : 1. 나는 그 수정이 안드로이드 네이티브 코드에 있어야 할 지 모르겠다. –

+0

자바 스크립트 요청이 어떻게 보이는지 코드를 제공해주세요. 위의 맵을 요청 헤더에 추가해야합니다. –

+0

헤더를 추가해야하는 시점이 무엇인지 이해하지 못 했습니까? –