簡體   English   中英

無法在iPhone App上使用PhoneGap和javascript獲取JSON結果,但在Android app上使用相同的代碼獲取結果

[英]Cannot get JSON results using PhoneGap and javascript on iPhone App but get results on android app using same code

目前,我在phonegap應用程序中使用此代碼

var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET","http://192.168.1.19:8080/searchMobile?categoryRequest=true", true);
xmlhttp.send(null);
xmlhttp.onreadystatechange = function() {alert(xmlhttp.status);
if (xmlhttp.readyState == 4) {
    var responseObject = eval("(" + xmlhttp.responseText + ")");
    var results = responseObject.result;
    if (results != null)
    {
        var resLength = results.length;
        category.length = category.length + resLength;
        for ( var i = 0; i < resLength; i++)
        {
            category.options[category.length - (resLength - i)].innerHTML = results[i].categoryName;
            $(category).selectmenu("refresh");
      }
    }
}

此代碼在android中工作,但是當我在iphone上運行此代碼時,其狀態為0表示無法正常工作。 我要如何克服這個問題,非常感謝。

首先,如@Raymond Camden所說,確保您的網址在.plist中列為白色 其次,從file://協議執行AJAX時,將狀態設為0是完全正常的。 Webkit會將狀態設置為0,因為您正在執行跨域請求,該請求在Web瀏覽器中將被阻止,但在Web視圖中(如PhoneGap所用)完全可以。 因此,在這種情況下,0 ==200。第三,擺脫eval,如果要返回JSON數據,請使用JSON.parse(xmlhttp.responseText),因為它安全得多

嘗試將URL添加到白名單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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