使用jQuery 1.7.3
得到的只有一个页面的DOM结构我最近更换了电话$.load();
用$.get();
在我的剧本之一,利用请求中止和其他很酷的功能 - 所以我要求一个正常的(本例中是php)html页面,而不是返回JSON或XML的文件。
但我注意到,您正在加载的页面上出现脚本错误 - 例如onError='myFunction(this);'
内联脚本调用第1页上未定义的功能,但第2页上出现的功能可能会导致错误(在此例中为undefined function myFunction
)第1页。我也看到图像也被要求。
我的使用案例是,我需要从新页面的一个值的数据,而不是整个事情,当然不是图像 - 有没有办法让jQuery只请求标记而不是“跟随”图像链接,也不尝试运行任何内联脚本?
例子:
Page1:
$.get('page2', {someData:123}, function(data){
var myDiv = $('#myDiv', data); //get the div I want from the response
//but at this point the browser has run the inline
//scripts and requested the images :(
//do something with the (very expensive) data
$('body').append(myDiv);
});
Page2:
<div id='myDiv'>
<!-- some dynamic data that changes over time -->
</div>
大约有我是否应该只写(另一个)文件,我可以用JSON查询来获取我所需要的数据,然后在脚本中分析它,并生成标记的一些关切等等,但是在这个用例中可以说比这更有价值,特别是考虑到我也会复制代码。
关于内联脚本,我可以(并且有一个解决方法)在page1上定义函数以避免错误。
任何帮助表示赞赏
这基本上是什么$('#myDiv',data);确实。不管我是否从页面选择图像,问题是浏览器实际上试图加载它们。我看到你在想什么,但我会试一试:) – jammypeach 2012-01-18 12:55:43
首先:我添加了'.find('*')',导致.not()对'# myDiv'。如果您没有输出响应,浏览器是否加载图像? – Armin 2012-01-18 13:03:36
我说浏览器加载图像的原因是,我在控制台中获取404和403错误的占位符等,将加载该页面时返回这些错误。此外,我尝试了这一点,但没有看到行为上的任何变化 - 您的选择器虽然 – jammypeach 2012-01-18 16:09:52