2011-10-28 39 views
5

Tôi muốn thực hiện yêu cầu đăng tên miền chéo, tôi sử dụng biểu mẫu nhắm mục tiêu khung nội tuyến để gửi yêu cầu.Cách sử dụng yêu cầu đăng iframe (tên miền chéo)?

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 hiển thị iframe đã nhận dữ liệu trả về từ url từ xa, nhưng tôi không thể tải nội dung iframe bằng Javascript? Các bạn có lời khuyên hay giải pháp nào không?

+0

bản sao có thể có của [Giao tiếp tên miền chéo giữa khung nội tuyến lồng nhau] (http://stackoverflow.com/questions/1142215/nested-iframe-cross-domain-communication) –

Trả lời

2

Bạn nên thêm thông số vào biểu mẫu có GUID. Có máy chủ nên lưu trong phiên GUID với các câu trả lời cụ thể. Sau đó, bạn gửi biểu mẫu mà bạn gọi máy chủ qua JSONP với GUID mà bạn đã sử dụng trong máy chủ và máy chủ sẽ trả lại asnwers mà nó đã lưu trong phiên.

+0

Không thể nhận được u. Ý bạn là gì? Chúng tôi muốn đăng dữ liệu qua iframe. Jsonp không hỗ trợ yêu cầu đăng bài. nó chỉ để có được – anasanjaria

Các vấn đề liên quan