Comment faire un jsonp requête POST qui spécifie contentType avec jQuery?
J'ai besoin de faire un jsonp requête POST avec le type de contenu "application/json". Je peux obtenir de la requête POST vers le serveur comme ceci:
jQuery.ajax({
type: 'POST',
url: url,
data: data,
success: success,
error: error,
async: true,
complete: complete,
timeout: TIMEOUT,
scriptCharset: 'UTF-8',
dataType: 'jsonp',
jsonp: '_jsonp',
});
Mais dès que j'ajoute la ligne:contentType: "application/json"
il commence à envoyer comme une des OPTIONS de demande plutôt que d'un POSTE.
Comment puis-je spécifier le type de contenu et encore soumettre la demande en tant que POST?
- Est l'URL dans votre domaine? Ce format est-il de retour?
Vous devez vous connecter pour publier un commentaire.
Il n'est pas possible de faire un JSONP requête POST.
JSONP fonctionne en créant un
<script>
balise qui exécute du Javascript à partir d'un domaine différent; il n'est pas possible d'envoyer une requête POST à l'aide d'un<script>
tag.<script>
l'inclusion. Mais cela signifie que le JSONP réponse ne marchera jamais; si elle est à venir à partir d'un autre nom d'hôte, vous ne serez pas en mesure de lire quoi que ce soit à partir de la réponse en raison de la Même Origine.<script>
de l'intégration peut déclencher uneGET
, toutes les données que vous voulez envoyer, il faut aller dans les paramètres de requête URL.Utilisation
json
dansdataType
et de l'envoyer comme ceci:et de mettre ces lignes dans votre côté serveur de fichier:
si PHP:
si java:
Il y a un (hack) la solution je l'ai fait à de nombreuses reprises, vous serez en mesure de Poster avec JsonP.
(Vous serez en mesure de publier Forme, plus grand que 2000 char que vous pouvez utiliser par GET)
Application Client Javascript
JAVA:
PHP:
Faire comme cela, vous êtes à l'ouverture de votre serveur pour toute demande de publication, vous devez re-mettre en fournissant ident ou quelque chose d'autre.
Avec cette méthode, vous pouvez également modifier le type de demande de jsonp en json, tous les deux, il suffit de régler le droit de réponse type de contenu
jsonp
json
S'il vous plaît pas que vous êtes serveur n'aura plus de respect de la SOP (même origine), mais qui s'en soucie ?