[英]Ajax call on phonegap not sending request
我正在把這頭發拉出來。
我有一個jquery ajax調用我的服務器在我的瀏覽器上運行,當我將它連接到我的本地代理進行http嗅探時,它可以在我的設備上運行,但只是在我的代理服務器上無線網絡或蜂窩網絡時掛起。
我已經設置了phonegap config.xml來允許我的域名。 請求是服務器上的get和ajax調用。 你會注意到它是jsonP。
電話是直接的jquery,我會發布代碼。 api對象是我用來保存應用程序功能的自定義對象。
var dfd = $.ajax({
url: myurl, // I've confirmed the url, but prefer to keep it private
data: {
ApplicationID: api.applicationID,
DeviceID: api.device.uuid(),
OSVersion: api.device.version(),
DeviceVersion: api.device.platform(),
Lat: lat,
Lng: lng,
Bearing: bearing
},
dataType: "jsonp",
timeout: 30000
})
.fail(function (event, jqXHR, ajaxSettings, thrownError) {
console.error(jqXHR);
});
我已經嘗試過這個答案,我能找到最接近我問題的答案,但它似乎沒有用。 Phonegap jQuery ajax請求不起作用
有什么我想念的嗎? 我究竟做錯了什么?
編輯:我忘了提到,我在ajax調用上設置的超時沒有做任何事情,它似乎只是忽略它。
因為你拉一個json字符串,為什么不使用
$.getJSON("http://www.example.com?jsoncallback=?",
function(data){ ... }
注意jsoncallback。 這里發生的是jquery為代碼解析一個額外的參數,以驗證結果來自實際請求。 這發生在跨域請求上。
為了使'json-builder'兼容,簡單地將jsoncallback放在請求前面:
$return = $_GET["jsoncallback"].'({"title" : "test", "author" : "someone"});
正如您所提到的,您的問題可能不是跨域。 您的服務器是否記錄任何請求? 從index.html鏈接后,我有第二個(相同)請求的類似問題,第一個請求正常。 我發現了一個可能是手機錯誤的信息。
事實證明我的問題完全不同。 由於移動瀏覽器如何添加AMD腳本,我的依賴項未加載。 我已經通過將所有腳本合並到一個文件中來解決這個問題,從那時起它就一直運行起來。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.