[英]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/xml
或text/xml
,通常不與XMLHttpRequest一起使用,除非您手動構造SOAP數據包。
我猜想您正在調用一個啟用腳本的服務端點,該端點可以接受url編碼的參數,因此手動構造的XML可能不是要發布的適當數據。
如果不是這樣,您將需要探索hades的特殊角落,該角落專門為那些堅持從JavaScript調用SOAP的人保留。 我不羡慕你。 ;-)
另一方面,返回值可能是您將需要解析的XML。 我建議對XMLHttpRequest的構造以及XML解析使用更加跨瀏覽器兼容的方法,因為您的代碼似乎是以IE為中心的。
另外,如其他地方所述,您有一個錯字SetRequestHeaders
應該是setRequestHeaders
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.