2011-04-11 114 views
0

我正在使用$ .get加載頁面,我加載的頁面有iframe。 我知道iframe ID,但由於某種原因,我不能讓src值...

假設這是我的代碼

function loadPage(postid) { 

    $.get("/post/" + postid, 
    function(data) { 

     var p = $(data).find("iframe").attr('src'); 
     console.log(p) 

    }) 
} 

我得到未定義的結果......

但控制檯的數據是一個對象完成與我需要的所有瓦盧斯...我不知道它是否只是一個正確的選擇問題

+0

你可以發佈你從AJAX調用回來的HTML嗎?你的答案可能在那裏。 – 2011-04-11 20:48:25

回答

0

以下應該工作:

$.get('/someScript', function(result) { 
    var frameSource = $('iframe', result).attr('src'); 
    alert(frameSource); 
}); 

這裏是live demo。只要確保你沒有違反same origin policy。這就是爲什麼在執行AJAX請求時使用相對URL總是更好(/somescript)。

+0

我仍然得到undefined ...我更新了我的代碼,實際上我不需要主機..相對路徑也不錯 – Francesco 2011-04-11 20:46:34

+0

@camelCase,你檢查了我在我的答案中提供的工作現場演示嗎?確保你的服務器以正確的'Content-Type:text/html'來響應。 – 2011-04-11 20:46:57

+0

是的,我做到了。我們舉一個例子:這是http://vogue.tumblr.com/post/4525974917/on-newsstands-nationwide-april-19th,如你在源代碼中看到的那樣,他們在頁面的末尾有一個iframe ,如果我使用jquery,我無法獲得iframe src ... – Francesco 2011-04-11 21:00:03