0

这是我的情况。

我试图用 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});">';

有任何想法吗?

4

3 回答 3

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 所以这就是我要开始的地方!

于 2009-07-24T05:28:20.807 回答
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);

}
于 2011-12-01T10:28:38.720 回答
0

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

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

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

于 2009-07-23T23:09:54.810 回答