2011-10-20 37 views
1

在我的代碼中,我有一個加載動態內容的iFrame,它像一個頁面(A.php)中的網頁(B.html)。在「A.php」中,一旦編輯過程完成,用戶可以內聯編輯「B.html」。在我的提交中,我將iframes信息發送到另一個頁面(script.php)。我嘗試了一切,但內容不在「script.php」中。通過Ajax向PHP腳本發送「iframe.contents()」有什麼想法?

簡而言之,我想通過AJAX將我的大html文本和所有東西轉移到PHP。我不知道該怎麼做...我的代碼將如下所示: -

「A.php」腳本代碼: 「myframe」是包含大塊HTML的iframe。

sendString = $("#myframe").contents();//Tried everything here[JSON as well] 
$.ajax({ 
    url: "script.php", 
    type: "POST",  
    data: sendingString,  
    cache: false, 
    success: function (html) { 

     return html; 
    } 
}); 

任何幫助,將不勝感激。

問候, 阿姆賈德

回答

1

$("#myframe").contents()將讓你它的節點作爲一個jQuery對象。請嘗試使用$("#myframe").html()以將內容作爲字符串獲取。

編輯:哦,它也有助於如果你修復你的變量名稱。將data: sendingString更改爲data: sendString

+0

我現在不在我可以測試的地方,但我不認爲你可以通過任何類型的JavaScript獲得iFrame的內容。瀏覽器特別不允許阻止各種黑客行爲。 – dubj

+0

您部分正確,但可以訪問來自同一來源*的iFrame內容。這就是javascript所見即所得編輯器所做的。更多信息:http://en.wikipedia.org/wiki/Same_origin_policy – Kaivosukeltaja

+0

啊,是的。我假設不同的起源,因爲如果它是相同的起源,沒有理由使用iframe,恕我直言。他可以只包含文件(或類似的東西),並用帶有ID的div標籤包裝整個東西。這會比*不寒而慄* iframes更容易玩;) – dubj