[問題] IE7運行ajax會出錯 但是firefox卻ok??

看板Ajax作者 (Tui from NZ)時間17年前 (2007/12/20 16:10), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串1/1
請問各位高手 小弟是ajax的新手 有一個問題一直無法解決 就是以下的code可以在firefox(windows xp,linux),konqueror(linux)上運行 但是用到IE7 就會出現STATUS CODE 500 INTERNAL SERVER ERROR 小的一直想不透是哪裡會造成這個問題 可以幫我看嗎 function loadAsync(SOAPMessage) { var xmlHttp; if (window.XMLHttpRequest) { // Mozilla, Safari, ... xmlHttp = new XMLHttpRequest(); } else if (window.ActiveXObject) { // IE xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } // 上面的定義用過w3c教學的方法 還是一樣的問題 xmlHttp.open("POST", "/greenstone3/services/localsite", true); xmlHttp.onreadystatechange = function () { document.ajax.queryText.value="Wait server..."; //在textarea顯示狀態 if(xmlHttp.readyState == 4) { if(xmlHttp.status == 200) { alert("Done"); <-- Firefox 是到這邊 } else { alert("Error"); <--IE7 會跑到這邊 } } } xmlHttp.setRequestHeader('SOAPAction', ' '); xmlHttp.setRequestHeader('Content-Type', 'Content-Type: text/xml; charset=utf-8'); xmlHttp.send(SOAPMessage); } soap message 是這樣的: <?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><message><response from="auckland/DocumentMetadataRetrieve" type="process"> <documentNodeList><documentNode nodeID="HASH01853c3e55cf8af911a68e95"><metadataList> <metadata name="archivedir">HASH0185.dir</metadata></metadataList></documentNode></documentNodeList></response></message></soapenv:Body></soapenv:Envelope> 如果試著把soap message存到xml裡面 改用"GET" 的話 IE7 FIREFOX都可以順利運行 但是一用POST 從SERVER取東西的話 就會出錯 各位高手有任何的想法嗎 THANKS -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.238.11.198

12/20 21:18, , 1F
ie7內建原生的xmlhttprequest物件,不必再用activex
12/20 21:18, 1F

12/20 21:20, , 2F
另外,content-type的第二個參數,直接從text/xml開始吧
12/20 21:20, 2F

12/20 21:22, , 3F
post的content-type是application/x-www-form-urlencoded?
12/20 21:22, 3F

12/21 15:13, , 4F
多謝樓上 加了SOAP HEADER就運行了 空白就不行
12/21 15:13, 4F
文章代碼(AID): #17QYDfF9 (Ajax)
文章代碼(AID): #17QYDfF9 (Ajax)