IE8 POST& GET中的JQuery load()不起作用?

时间:2009-07-23 22:53:43

标签: jquery post internet-explorer-8 load

继承我的情况。

我尝试使用load()在页面中重新加载div。

我首先尝试使用GET。用Firefox而不是IE8工作得很好。

经过一番阅读后,我发现我必须发布我的PARAM,所以我继续进行了POST。

结果是一样的。它不会在IE8中工作。这是我用于POST的行。

$(\'#test_1\').load( \'../ajax_http.php\',{variable2:xload})

Firebug,(firefox调试插件),将操作视为POST并查看PARAM值 所以它作为一个POST进入低谷但仍然无法在IE8中运行。

这是使用的实际行:

echo '<div id="test_1" class="test_1" OnClick="$(\'#test_1\').load( \'../ajax_http.php\',{variable2:xload});">';

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

因此,如果IE8不让我获取我的数据,我会得到它自己!我想出了

function req_product(user,action,product) {
var data = getXMLHttpRequest();

data.onreadystatechange = function() {
    if (data.readyState == 4 && (data.status == 200 || data.status == 0)) {


        document.getElementById("product_box").innerHTML=data.responseText;

    }

};

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


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

}

它与IE8,Firefox 3.5.1,Netscape9.0以及Opera 9.5一起正常运行所以这就是我要从哪里开始的!

答案 1 :(得分:1)

我使用了额外的功能(这个例子中还有一个小错字):

function getXMLHttpRequest() 
            {
                if (window.XMLHttpRequest) {
                    return new window.XMLHttpRequest;
                }
                else {
                    try {
                        return new ActiveXObject("MSXML2.XMLHTTP.3.0");
                    }
                    catch(ex) {
                        return null;
                    }
                }
            }

function req_product(user,action,product)
{
        var data = getXMLHttpRequest();

        data.onreadystatechange = function() {
            if (data.readyState == 4 && (data.status == 200 || data.status == 0)) 
            {
                document.getElementById("product_box").innerHTML=data.responseText;
            }

        };

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

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

}

答案 2 :(得分:0)

首先,我假设这是一段PHP代码。您是否尝试使用

设置onclick
$("#test_1").click(function(){$('#test_1').load( '../ajax_http.php',{variable2:xload});});

方法?这可能是一个编码问题。检查调试器。