2012-09-13 4 views
3

J'ai des données saisies par l'utilisateur qui sont en cours de publication dans un domaine différent et un protocole différent. Après avoir fait quelques lectures, j'ai découvert que l'objet XDomainRequest de Microsoft ne permet pas les interactions d'origine croisée (différents protocoles, ports, # 7 hereLes données de transfert de dromaine croisées dans ie9 du serveur http vers le serveur https

Je fais un appel CORS AJAX standard pour FF, Safari et Chrome (qui fonctionne), et j'ai essayé d'utiliser l'objet XDomainRequest pour IE9.

if ($.browser.msie && window.XDomainRequest) { 
    var xdr = new XDomainRequest(); 
    xdr.open("post", "https://_url_here"); 
    xdr.send(post_data); 
}else { $.ajax(params); } 

Quand j'ai ouvert une version https du site d'origine, il a envoyé avec succès les données à l'URL de réception, mais il ne pouvions » Je ne suis pas en mesure de trouver des informations à ce sujet ou de le voir dans la console xdr.send(post_data); "regarde" comme quand il est envoyé, j'ai regardé this mais ne pouvait pas tout à fait l'obtenir; console a répondu: Unable to get value of the property 'postMessage': object is null or undefined

if ($.browser.msie && window.XDomainRequest) { 
    var domain = $("iframe").contentWindow; 
    domain.postMessage(post_data); 
    }else { 
    $.ajax(params); 
    } 

Quelqu'un peut-il me proposer un peu d'aide avec cela?

Répondre

1

télécharger le script ici: https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest

inclure dans votre code HTML après votre lien vers jquery, mais avant que le script où vous faites l'appel ajax. D'une manière plutôt joviale, j'ai utilisé ce script pour envoyer la requête à mon application lancée sur heroku (http -> http = fonctionne bien), puis une application sinatra fonctionnait sur le site heroku qui envoyait ensuite les données sur sur le site https. Ce n'est pas beau, mais ça marche.

+0

Vous avez réussi à utiliser IE10. Va vérifier avec IE9. Je sais que IE10 prend en charge CORS. –

Questions connexes