首次点击时无法加载ajax

时间:2011-05-15 14:01:53

标签: jquery ajax

这是我的问题。

我有一些链接触发ajax函数来加载div中的内容。它在Chrome和FireFox中运行良好。然而,在IE中有一个问题。它反应很有趣。如果我自页面加载后第一次点击链接它将无法按预期工作。它将在第二次单击时加载,或者如果我将鼠标悬停在应更新的区域上。 IE只会这样反应。

My Javascript function to query data 

function req_frame(box,user,action,product) {
var xhr = getXMLHttpRequest();
    xhr.onreadystatechange = function() {

         if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
    parent.frames[user].document.getElementById(box).innerHTML=xhr.responseText;
        }

    };

    var sVar1 = product;
    var sVar3 = encodeURIComponent(user);
    var sVar2 = encodeURIComponent(action);


    xhr.open("GET", "ajax_http.php?variable1=" + sVar3 + "&variable2=" + sVar2 + "&variable3=" + sVar1, true);
    xhr.send(null);

}

我知道这段代码很好用!甚至变量都是混合的

我使用Jquery这样的事件触发来调用这个函数

$("#ajphoto").live('click', function(){ req_frame("framebox","contpic","ajphoto","product"); })     

任何人都有帮助?谢谢

1 个答案:

答案 0 :(得分:1)

试试这个:

function req_frame(box,user,action,product) {
  var result = $(parent.frames[user].document.getElementById(box));
  result.load("ajax_http.php", 
    {variable1:user, variable2:action, variable3:product});
}