我正在尝试使用 jquery ajax 调用来调用 web 服务。我使用 jasonp 作为数据类型来解决跨域问题。
它在所有浏览器中都能正常工作。我在其他域上对其进行了测试。我得到了有效的回应。当我尝试从 android 设备模拟器运行它时,webservice 调用失败。
请建议。
代码 :
function getJsonData()
{
alert("Within get json function.. ");
(function($) {
var url = 'http://localhost:8080/mobile-services/rest/languages.json?callback=callback';
$.ajax({
type: 'GET',
url: url,
async: false,
contentType: "application/json",
dataType: 'jsonp'
});
})(jQuery);
}
function callback(data)
{
alert(data);
}
网络服务响应。
callback([{"language":"English","id":1},{"language":"Hindi","id":2},{"language":"Marathi","id":3}])
这是一个有效的 jsonp 响应。
Android 清单文件权限。
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />