Я пытаюсь вызвать webservice с помощью jquery ajax call. Я использую jasonp как тип данных для исправления проблем с перекрестными доменами.Jquery ajax call failed на эмуляторе Android
Он отлично работает во всех браузерах. Я тестировал его на других доменах. Я получаю действительный ответ. Когда я пытаюсь запустить его из эмулятора устройства 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" />
'http: // localhost: 8080' --- ваш веб-сервер встроен в ваш эмулятор Android? –
Нет встроенного в андроидный эмулятор. его на той же машине. Я могу получить доступ к веб-сервисам через браузер эмулятора. –
Отметьте ответ Ajinkya ниже –