簡體   English   中英

Ajax調用phonegap沒有發送請求

[英]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.

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