Comment envoyer une demande POST inter-domaines via JavaScript ?

Comment envoyer une demande POST inter-domaines via JavaScript ?

Remarques : la page ne doit pas être actualisée, et je dois récupérer et analyser la réponse par la suite.

  1. Créez un iFrame,
  2. mettez-y un formulaire avec des entrées cachées,
  3. définissez l'action du formulaire sur l'URL,
  4. Ajouter l'iframe au document
  5. soumettre le formulaire

Pseudocode

 var ifr = document.createElement('iframe');
 var frm = document.createElement('form');
 frm.setAttribute("action", "yoururl");
 frm.setAttribute("method", "post");

 // create hidden inputs, add them
 // not shown, but similar (create, setAttribute, appendChild)

 ifr.appendChild(frm);
 document.body.appendChild(ifr);
 frm.submit();

Vous voulez probablement donner un style à la iframe, pour qu'elle soit cachée et positionnée de manière absolue. Je ne suis pas sûr que le navigateur autorise l'affichage sur plusieurs sites, mais si c'est le cas, voici comment procéder.

Commentaires (9)

Vérifiez la fonction post_method dans http://taiyolab.com/mbtweet/scripts/twitterapi_call.js - un bon exemple pour la méthode iframe décrite ci-dessus.

Commentaires (0)

Niveau élevé.... Vous devez configurer un cname sur votre serveur pour que other-serve.your-server.com pointe vers other-server.com.

Votre page crée dynamiquement une iframe invisible, qui sert de transport vers other-server.com. Vous devez ensuite communiquer via JS de votre page à other-server.com et avoir des call backs qui renvoient les données à votre page.

Possible mais nécessite une coordination entre votre serveur et l'autre serveur.

Commentaires (2)