2011-10-28 68 views
0

我正在開發Android PhoneGap的第一步(不管怎麼樣,你必須選擇一個平臺,它應該是跨平臺的!)。我試圖調用一個RESTful服務,獲取一些JSON作爲回報並將其放到屏幕上。這個教程很難找到。我使用下面的代碼:PhoneGap Android getJSON

<!DOCTYPE HTML> 
<html> 
<head> 
     <title>JSON Demo</title> 
     <script type="text/javascript" src="jquery.js"></script> 
     <script type="text/javascript" src="jquery-1.6.4.js"></script> 

     <script type="text/javascript"> 

$.getJSON('http://MyServerIP/json/GetJobDetails/717/MyKey?callback=?', { 
    success:function(data) 
    { 
      data = evalJSON(data); 
      $('body').append('<strong>X </strong>'); 
    }, 
    error: function() 
    { 
    $('body').append('<strong>Error </strong>'); 
    } 
}); 
     </script> 
</head> 
<body> 
test 10 
</body> 
</html> 

...但我沒有得到任何迴應,既不成功也不是錯誤。服務器報告它已被擊中,並返回數據。瀏覽到相同的URL也會返回數據。模擬器中什麼都沒有出現?

回答

2

出於某種原因,成功:與錯誤:被殺死它,即這個工程:

 <script type="text/javascript"> 

$.getJSON('http://MyServerIP/json/GetJobDetails/717/MyKey?callback=?', function(data) 
    { 
      data = evalJSON(data); 
      $('body').append('<strong>X </strong>');   
}); 
     </script> 
+1

如果你仍然不知道,原因是因爲'success'和'error'功能不存在'$ .getJSON'。這是一個簡寫函數[getJSON文檔](http://api.jquery.com/jQuery.getJSON/)。要使用這些函數,您必須定義[全局jQuery Ajax處理程序](http://api.jquery.com/category/ajax/global-ajax-event-handlers/)或使用完整的'.ajax'函數 –

2

可以在PhoneGap的官方維基在這裏在這裏找到關於Android + jQuery Mobile的一個很好的教程: http://wiki.phonegap.com/w/page/36868306/UI%20Development%20using%20jQueryMobile

對於您的問題,確保此行是PhoneGap的應用程序清單文件: <使用許可權的android :NAME = 「android.permission.INTERNET對」> < /使用許可權>

此外,您可以設置服務器頭來: '訪問控制允許來源:*'

祝您好運!