Как использовать iframe для (междоменного) почтового запроса? - PullRequest
5 голосов
/ 28 октября 2011

Я хочу сделать пост-междоменный запрос, я использую форму, нацеленную на iframe, чтобы отправить запрос.

var iframe = document.createElement("iframe");

var uniqueString = "CHANGE_THIS_TO_SOME_UNIQUE_STRING";

document.body.appendChild(iframe);

iframe.style.display = "none";

iframe.contentWindow.name = uniqueString;


var form = document.createElement("form");

form.target = uniqueString;

form.action = myUrl;

form.method = "POST";


// repeat for each parameter

var input = document.createElement("input");

input.type = "hidden";

input.name = "setting";

input.value = params;

form.appendChild(input);

document.body.appendChild(form);

form.submit();

iframe.onload = iframe.onreadystatechange = function(){

if(this.readyState && this.readyState!="complete") return ;

else{                                                                            
       alert("haha");                                                
}
};

Chrome показывает, что iframe получил возвращенные данные от удаленного URL, но я не могу получить содержимое iframe, используя Javascript? Ребята, есть какие-нибудь советы или решения?

1 Ответ

2 голосов
/ 18 декабря 2011

Вы должны добавить параметр в форму с GUID. Там сервер должен сохранить в сеансе GUID с конкретными ответами. После этого вы отправляете форму, которую вы вызываете на сервере через JSONP с GUID, который вы использовали на сервере, и сервер должен вернуть ответы, сохраненные в сеансе.

...