2017-03-14 7 views
0

Dans mon application, j'utilise WebView. J'essaie d'appeler la méthode POST qui ne peut pas procéder mon request.I obtenir cette erreur:Android Jelly bean 4.2.2 - webview XMLHttpRequest ne peut pas charger

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

Il se passe que dans le périphérique avec le haricot Jelley 4.2.2 dans tous les autres systèmes d'exploitation, il est beau travail.

Merci beaucoup pour votre aide.

Répondre

0

Ajouter cette demande à en-têtes:

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"); 

Vous pourriez avoir besoin d'ajouter cela aussi:

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

--- jour à base de votre code, voici l'ajustement:

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' 
    } 
} 
}); 

J'espère que cela peut aider, '.

+0

Je veux affiner la question, je charge URL pour WebView et dans cette page j'ai un bouton après avoir cliqué sur ce que nous appelons à la fonction de script java qui jette l'erreur: XMLHttpRequest ne peut pas charger https: // *** **/support/create_ticket. Champ d'en-tête de requête Content-Type n'est pas autorisé par Access-Control-Allow-Headers. à null: 1. Je ne suis pas sûr que le correctif doit être dans le code natif android. –

+0

vous plaît fournir le code comment votre demande javascript ressemble .. vous devez ajouter à votre carte ci-dessus en-tête de demande. –

+0

Je n'ai pas compris à quel moment je devrais ajouter les en-têtes? –