0

Javascript を使用して Rest Services を呼び出す必要があります。私のコードは次のとおりです。

function CreateXMLHttpRequest() {
  if (typeof XMLHttpRequest != "undefined") {
    return new XMLHttpRequest();
  } else if (typeof ActiveXObject != "undefined") {
    return new ActiveXObject("Microsoft.XMLHTTP");
  } else {
    throw new Error("XMLHttpRequestnot supported");
  }
}
function CallWebService() {
  objXMLHttpRequest = CreateXMLHttpRequest();
  objXMLHttpRequest.open("POST", "http://www.rest.net/services/abc.svc/json/GetXml", true);
  objXMLHttpRequest.setRequestHeader("Content-Type", "application/xml;charset=UTF-8");
  var packet = '<?xml version="1.0" encoding="utf-8" ?><CompanyRequest xmlns="http://schemas.datacontract.org/2004/07/abc.DomainModel" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><CompanyName>company</CompanyName></CompanyRequest>';
  objXMLHttpRequest.onreadystatechange = function () {
    if (objXMLHttpRequest.readyState == 4&&objXMLHttpRequest.status==200) {
      alert(objXMLHttpRequest.responseText);
    }
  }
  objXMLHttpRequest.send(packet);
}

IEではステータスが200で、レスポンスを取得できています。しかし、Firefox と Chrome では、ステータスは 0 です。どうすればこの問題を解決できますか?

前もって感謝します。

4

1 に答える 1

0

http://www.rest.netでドキュメントをリクエストしていますが、別のドメインにいると思います。この場合、あなたは同一生成元ポリシーの犠牲者であり、あなたの通話はブロックされます。

http://www.rest.netを信頼できるドメインとして設定している場合は、IEで機能する可能性があります。

于 2012-11-24T05:49:40.437 に答える