簡體   English   中英

在JavaScript中使用XMLHttpRequest.send()

[英]Using XMLHttpRequest.send() in JavaScript

如何使用XMLHttpRequest.send()

我在JavaScript中的代碼如下:

str_xml+="<xml_to_be_submitted><request_xml><client_id>"+document.frmCallEntryAdd.cboCLIENT.options[document.frmCallEntryAdd.cboCLIENT.selectedIndex].value+"</client_id></request_xml></xml_to_be_submitted>";
  var obj_http=new ActiveXObject("Microsoft.XMLHTTP");
  var str_url="ClientModuleFetch.aspx";
  var str_http_method="post";
  obj_http.open(str_http_method,str_url,false);
  obj_http.SetRequestHeader("Content-Type","application/x-www-form-urlencoded");
  obj_http.send(str_xml);
  var str_reply=obj_http.ResponseText;


  var xmlResponse = str_reply;

  var objXmlDOM=new ActiveXObject("Microsoft.XMLDOM");

誰能告訴我我做錯了什么?

首先,您的方法僅適用於IE(我希望這不適用於公共網站)。 我發現的第二個錯誤是,您用大寫的S拼寫了SetRequestHeader 。它應該是setRequestHeader

您能否准確發布所收到的錯誤消息(帶有行號)(如果有)?

您發布的數據不是application/x-www-form-urlencoded ,看起來像是a=b&c=f

發布的數據是application/xmltext/xml ,通常不與XMLHttpRequest一起使用,除非您手動構造SOAP數據包。

我猜想您正在調用一個啟用腳本的服務端點,該端點可以接受url編碼的參數,因此手動構造的XML可能不是要發布的適當數據。

如果不是這樣,您將需要探索hades的特殊角落,該角落專門為那些堅持從JavaScript調用SOAP的人保留。 我不羡慕你。 ;-)

另一方面,返回值可能是您將需要解析的XML。 我建議對XMLHttpRequest的構造以及XML解析使用更加跨瀏覽器兼容的方法,因為您的代碼似乎是以IE為中心的。

另外,如其他地方所述,您有一個錯字SetRequestHeaders應該是setRequestHeaders

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM