0

これが私の状況です。

load()を使用してページ内のdivを再ロードしようとしています。

私は最初にGETを試しました。Firefoxでは正常に動作しましたが、IE8では動作しませんでした。

少し読んだ後、PARAMをPOSTする必要があることがわかったので、続行してPOSTを実行しました。

結果はまったく同じです。IE8では動作しません。これがPOSTに使用している行です。

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

Firebug(firefox debugアドオン)は、アクションを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

私はこれを追加の関数で動作させました(例にはちょっとしたタイプミスもありました):

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 に答える
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 に答える
0

まず、これが PHP コードのスニペットであると仮定します。を使用してonclickを設定しようとしましたか

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

方法?エンコードの問題である可能性があります。デバッガーを確認してください。

于 2009-07-23T23:09:54.810 に答える