2013-08-27 35 views
2

我遇到了jQueryMobile(包括jQuery)和jquery.jsonp,jsonp調用的特殊庫的組合問題。Jquery-jsonp在Android上給出了「錯誤」,但不是在桌面瀏覽器中

This是jquery.jsonp庫的git存儲庫。一段時間以來,我決定使用這個特殊的庫,而不是使用$ .ajax和datatype:"jsonp"選項,所以我不記得究竟是什麼原因,除了它是或似乎是必要的。

我已經看了看四周,跟着this related Q&A建議: (1)我加載所有的JS和其他文件在本地 (2)$ .support.cors和$ .mobile.allowCrossDomainPages設置爲true ( 3)有周圍的jQuery

代碼

聲稱所以要有準備的東西不同的變量$沒有衝突。這是我的代碼...

$.jsonp({ 
    data: allData, 
    url: 'https://www.ssl-id.net/afford-it.me/functions/spendable2.php', 
    cache: false, 
    timeout: 6000, 
    callbackParameter: "callback", 
    success: function(returned,status){ ... }, 
    error: function(repeatedOptions,status){...}, 
    complete: function(repeatedOptions,status){...}, 
}; 

錯誤

當應用程序觸發此JSONP命令,錯誤事件觸發器(以及完整的事件),它給人的狀態是「錯誤」。根據docs,這也可能已超時。 此外,在控制檯,是一個「未知的錯誤鉻:0」

鑑別診斷

有當我運行在桌面瀏覽器的應用程序沒有問題:它只發生在Android上。 This guy有一個很好的解釋(Android在任何缺少html關閉標籤的情況下都會出現問題,這隻會導致跨域調用時出現問題),但它並沒有幫助我。

任何人都可以弄清楚這裏有什麼問題嗎?如果需要,我會很樂意提供更多數據。

回答

1

所以我想通過Stackoverflow的this Q&A。這是關於訪問起源。這不是Android阻礙,而是Phonegap。

除非您在config.xml文件中指定域名,否則Phonegap不允許跨域。

準確地說,將它放在[myProject]/www文件夾的config.xml文件中,否則它將在下一次構建時被覆蓋。這是Phonegap documentation on whitelisting

相關問題