我正在開發一個filemaker項目。在這個項目中,我需要向肥皂服務提出請求。爲此,我在Filemaker中使用Web查看器。在Web瀏覽器中,我發出肥皂請求,然後使用filemaker fmp://協議,我可以將數據從Web查看器發送到我的數據庫以供進一步處理。IOS上的xmlhttprequest沒有發送請求?
爲了使這項工作,我會加載到Web瀏覽器的HTML頁面。 我有以下的本地HTML頁面,包含與SOAP服務通信的腳本:
<html>
<head>
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
</head>
<body>
<script language='JavaScript' type='text/JavaScript'>
var xhr = new XMLHttpRequest();
var req = ' --- request comes here ----';
xhr.open('POST', 'https://--- soapservice endpoint ---', true, '***_***_***', '******');
xhr.onload = function (e) {
if (xhr.readyState === 4) {
if (xhr.status === 200 || xhr.status === 0) {
alert ('Onload responsetext: ' + xhr.responseText);
} else {
alert ('Onload statustext: ' + xhr.statusText);
}
}
};
xhr.onerror = function (e) {
alert ('onerror statustext: ' + xhr.statusText + ',status: ' + xhr.status);
};
xhr.setRequestHeader('Content-Type', 'application/xml');
xhr.setRequestHeader('SOAPAction', '');
xhr.send(req);
</script>
</body>
</html>
當我在Safari中打開這個頁面,在我的iMac,腳本工作正常,我從服務器獲得響應。
在我的Ipad IOS上我沒有收到服務器的響應。 xhr.Status = 0,readyState = 4,responseText爲空。 如果我在de腳本中放置onreadystatechange函數,它會在每個就緒狀態更改(1到4)時發出警報,我只收到就緒狀態1和就緒狀態4的警報。
觸發錯誤功能,提供警報狀態0和空狀態文本
因爲它不是公共服務器我不能發佈實際的網址 用戶名中有兩個「_」。
爲什麼這段代碼不能在IOS中工作?
我不知道你的問題的答案。恕我直言,你會更好**直接從響應導入**記錄,使用XSLT樣式表將響應轉換爲Filemaker的XML語法。 –
使用filemaker Go不可能導入xml文件。我試圖讓這個數據庫在我的Ipad上工作。 – ErikB
啊,對不起,你說得對。如何從URL插入[],這會對你有用嗎? –