2011-10-28 13 views
5

मैं एक पोस्ट क्रॉस-डोमेन अनुरोध करना चाहता हूं, मैं एक फॉर्म का उपयोग करता हूं जिसने अनुरोध सबमिट करने के लिए आईफ्रेम को लक्षित किया है।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");             
} 
}; 

क्रोम से पता चलता आइफ्रेम दूरदराज के यूआरएल से लौटे डेटा प्राप्त है, लेकिन मैं जावास्क्रिप्ट का उपयोग कर iframe सामग्री नहीं मिल सकता है? क्या आपके पास कोई सलाह या समाधान है?

+0

[नेस्टेड आईफ्रेम क्रॉस-डोमेन संचार] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/1142215/nested-iframe-cross-domain-communication) –

उत्तर

2

आपको GUID के साथ फ़ॉर्म में पैरामीटर जोड़ना चाहिए। सर्वर को विशिष्ट उत्तरों के साथ GUID सत्र में सहेजना चाहिए। उसके बाद आप उस फॉर्म को भेजते हैं जिसे आप सर्वर पर जेएसओएनपी के जरिए सर्वर कहते हैं जिसे आपने सर्वर में उपयोग किया था और सर्वर को सत्र में सहेजे गए एन्वर को वापस करना चाहिए।

+0

आपको प्राप्त करने में असमर्थ। आपके कहने का क्या मतलब है? हम iframe के माध्यम से डेटा पोस्ट करना चाहते हैं। जेसनपी पोस्ट अनुरोध का समर्थन नहीं करता है। इसके लिए केवल एक ही है – anasanjaria

संबंधित मुद्दे