Question

dit GET simples ou POST devraient être nativement CORS est sans aucun contrôle en amont, mais jusqu'à présent toute tentative de POST je l'ai fait a donné lieu à un en-tête de OPTIONS sortir. Quand je changerai de POST pour obtenir le code envoie immédiatement une demande de GET appropriée si la partie cross site fonctionne très bien.

Voici un exemple amincie de ce que je fais dans Firefox:

 var destinationUrl = 'http://imaginarydevelopment.com/postURL';
 var invocation = new XMLHttpRequest();
            if (invocation) {
                invocation.open('POST', destinationUrl, true);
                //tried with and without this line
                //invocation.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

                invocation.onreadystatechange = (function Handler() {
                if (invocation.readyState == 4)
                        alert('Request made');
                });
                invocation.send(/* tried with and without data*/);
            }

Voici ce que j'avais déjà travailler en chrome et IE:

var destinationUrl = 'http://imaginarydevelopment.com/postURL';
var destination = { url: destinationUrl, type: 'POST', success: AjaxSuccess, error: AjaxError,
            dataType: 'text', contentType: 'application/x-www-form-urlencoded'
        };
  destination.data = { 'rows': rowList, 'token': token };
            $jq.ajax(destination);
Était-ce utile?

La solution 2

bien, je ne sais pas ce que tous les ContentTypes fonctionnent réellement, mais text/plain ne sur tous les 3 navigateurs:

var destination = { url: destinationUrl, type: 'POST', success: AjaxSuccess, error: AjaxError,
             contentType: 'text/plain'
        };
var postData={ 'anArray': theArray, 'token': token };
            destination.data=JSON.stringify(postData);

$jq.ajax(destination);

Mais jusqu'à présent, je ne l'ai pas compris ce qui empêche la demande de faire quoi que ce soit en plus d'exécuter la méthode de succès, même si un code 505 est retourné. Ajout d'un en-tête de réponse de Access-Control-Allow-Origin: * a résolu le navigateur ne voulant pas lire les données de retour.

Autres conseils

J'ai le même problème

https://developer.mozilla.org/En/HTTP_Access_Control

dit que le enctype doit être text / plain ou vous devez utiliser Ix4 + Tous les en-têtes d'accès doivent être réglés correctement

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top