2011-04-11 59 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

相关问题