2011-06-30 10 views
0

XMLHttpRequest POSTを使用してSOAPサービスを呼び出しています。私はキャッシュをオフにすると、http要求はIEで正常に動作します。私は関数を呼び出して正しいsoap応答xmlを取得することができます。しかし、FirefoxやChromeでこれを実行すると、httpリクエストオブジェクトに本文のコンテンツがないように見えます。以下は私のコードです:XMLHttpRequestはFirefoxまたはChromeでリクエスト本体を送信しません。

var xmlhttp = null; 
    if(window.XMLHttpRequest) { 
    alert("supports XMLHttpRequest"); 
    xmlhttp = new XMLHttpRequest(); 
    } else { 
    // Internet Explorer 
    try 
    { 
     xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
    } 
    catch (e) 
    { 
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    } 
     xmlhttp.open("POST", "http://www.zazzycard.com:22080/eBizCard/ws/eBizCardService", true); 
     xmlhttp.onreadystatechange = function() { 
     if (xmlhttp.readyState == 4) { 
      alert(xmlhttp.responseText); 
      alert(xmlhttp.responseXML); 
     } 
     } 
     xmlhttp.setRequestHeader("SOAPAction", "http://ws.ebizcard.com/AuthenticateUser"); 
     xmlhttp.setRequestHeader("Content-Type", "text/xml"); 
     xmlhttp.setRequestHeader("Content-Length", 1000); 
     xmlhttp.setRequestHeader("Cache-Control", "max-age=0"); 
     xmlhttp.send(xml); 

Firefoxでこれが動作しない理由を知っている人はいますか?ありがとう!

+0

xmlhttp.send(xml) –

+0

ありがとうございました。私はfirefoxがPOSTデータを送信していない理由を理解しました。サイト間の呼び出しのために、firefoxは実際にOPTIONSリクエストをサーバーに送信して許可を求めるためにサーバーに実際にプリフライトを行います。私のサーバはこのOPTIONSリクエストを処理せず、爆発します。私は、飛行前のリクエストを避けるためにsetRequestHeader()呼び出しを削除しなければなりませんでした。しかし、サービスがPOST要求を正しく処理できるようになったとしても、受信した応答は空/ヌルです。私は非常に困惑し、この時点で不満です。 – Kang

+0

これを参考にしてくださいhttps://developer.mozilla.org/en/HTTP_access_control – Kang

答えて

-5

私はそれが面白いと知っていますが、実際にはすべてif (window.XMLHttpRequest) ...のものを避けるためにjQueryを使いたいかもしれません。

+0

ありがとうございます。私はfirefoxがPOSTデータを送信していない理由を理解しました。サイト間の呼び出しのために、firefoxは実際にOPTIONSリクエストをサーバーに送信して許可を求めるためにサーバーに実際にプリフライトを行います。私のサーバーはこのOPTIONS要求を処理せず、爆発します。 飛行前のリクエストを避けるためにsetRequestHeader()コールを削除する必要がありました。しかし、サービスがPOST要求を正しく処理できるようになったとしても、受信した応答は空/ヌルです。私は非常に困惑し、この時点で不満です。 – Kang

+1

@ Kangのように、あなたが答えとして働くことができた変更されたコードを投稿し、それが受け入れられたものとしてマークして、この質問があなたが持っていたのと同じ問題を経験する他の人を助けることができるようにすべきです。 –

関連する問題