为什么window.onload没有在$ .get中执行(

时间:2012-12-17 07:01:20

标签: javascript asp.net asp.net-mvc jquery

$.get("MyPage.aspx", {foo:"bar"}, function(results){
  Some Js code here.
});

问题 - 在MyPage.aspx中,我有window.onload方法。这没有被执行。

您的意见?

2 个答案:

答案 0 :(得分:1)

window.onload不会因为您使用ajax调用获取一些新的HTML而再次触发。每个文档只有一个window.onload事件。

当ajax调用完成时,.get()调用已经具有完成功能。从完成电话中完成你的工作。

我知道在加载的代码中触发所需代码的唯一方法是首先将该代码放入您的文档中,然后:

  1. 不是等待onload执行,而是在完成ajax调用后手动执行的加载代码中调用所需的函数(例如,在onload中执行的相同代码)。
  2. 将内容放入iframe(然后会获得自己的onload事件)。

答案 1 :(得分:-1)

$.get()仅从Web服务器检索文件。

如果HTML文件显示,则浏览器会执行window.onload等。如果您只是加载文件以检索其内容,则不会执行客户端JS代码。