2017-11-16 1 views
1

私はfirefoxを使用して実行しないHTTPRequestを持っています。テスト用に書き出した警告を返すので、Google Chromeで動作します。HTTPRequestがFirefoxに値を返さない

var htpr = new XMLHttpRequest(); 
    var url = "../something.php"; 
    var val = "pro_ID="+prod_id+"&quan="+quan; 
    alert("test ajx"); 
    htpr.open("POST", url, true); 
    htpr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
    htpr.onreadystatechange = function(){ 
    if(htpr.readyState == 4 && htpr.status == 200){ 
     var dt = htpr.responseText; 
     alert(dt); 
    } 
} 
htpr.send(val); 
} 



if(isset($_POST['pro_ID'])) {  
    echo "Test"; 

} 
echo "test wrong"; 

UPDATEDの問題が見つかりました!

htmlフォーム内でトリガされるajax関数があるため、フォームからのデフォルトのリフレッシュ関数がajaxが実行される前にページをリフレッシュしていたと思います。関数 "event.preventDefault()"。それは修正されたようだ。本当に変だ!

htpr.onreadystatechange = function(){ 

アドオン::答えが 'コード200、状態4' テストに合格しない理由

console.log(htpr); 

多分それはあなたが表示されますそれが問題

+0

コンソール(開発ツール)にエラーがありますか? –

+0

@Ofirはまったく間違いなく、なぜそれがクロームの完璧な罰金としてFirefoxで動作しないのか理解していない。 – Luke

+0

キャッシュに問題がありますか? (これはjsコードなので) –

答えて

1

の下だろうと思ったことはありません。

Firefoxの[ネットワーク]タブをチェックすることもできます。 XHRがChromeでコード4xxまたは5xxを返すと、その情報がコンソール情報に表示されます。 Firefoxでは、XHRリクエストの問題に関する情報はありません。ネットワークで確認する必要があります(問題は赤色です)。

+0

私はajax関数を持っているので、エラーが見つかりました

フォームからのデフォルトのリフレッシュ機能は、ajaxが実行される前にページをリフレッシュしていたと思います。関数 "event.preventDefault()"。それは修正されたようだ。本当に変だ!それが問題になるとは決して考えなかった。 – Luke

関連する問題