PhoneGap для Windows Phone Обратный вызов jQuery ajax не выполняется - PullRequest
2 голосов
/ 27 января 2012

У меня проблема с PhoneGap для Windows Phone и jQuery.

У меня есть Ajax-запрос к удаленному серверу, но успешный обратный вызов не выполняется, даже если сервер отвечает кодом 200 (я вижу запрос в сервере access_log) Обратный вызов ошибки также не выполняется.

код

$.support.cors = true;
$.mobile.allowCrossDomainPages = true;

$.ajax({
    url: 'http://example.com',
    data: { foo: 'bar' },
    cache: false,
    dataType: 'json',
    success: function (data) { 
        console.log(data); 
    }
});

Есть идеи?

Ответы [ 3 ]

1 голос
/ 02 февраля 2012

У меня та же проблема, но не этот совет, ни новая версия phonegap не помогла.С PhoneGap 1.4.0 теперь я всегда получаю сообщение об ошибке.

1 голос
/ 08 августа 2012

Если вы используете jQuery Mobile, вам нужно установить следующее значение:

$. Support.cors и $ .mobile.allowCrossDomainPages

jQuery ожидает, что весь код js будетработать в обычной среде браузера, где междоменные запросы не разрешены.Я думаю, что они придумали это специально для PhoneGap.

Проверьте jQuery Mobile Docs

0 голосов
/ 27 января 2012

Кажется, это известная проблема реализации локальной XHR-прокладки в разрыве телефона 1.3.0.Вы можете переключиться на предыдущую версию или комментировать все в phonegap-1.3.0.js, начиная со строки 3551 до конца файла

//(function(win,doc){
//
//    doc.addEventListener("DOMContentLoaded",function()
//    { 
// ......
//      if(!docDomain || docDomain.length == 0)
//      {
//          //console.log("adding our own Local XHR shim ");
//          var aliasXHR = win.XMLHttpRequest;
//      
//          win.XMLHttpRequest = function(){};
//      
//          var UNSENT = 0;
// ......
//
//    
//})(window,document);

РЕДАКТИРОВАТЬ Передача PhoneGap 1.4.0rc1

https://github.com/purplecabbage/callback-windows-phone

Изменения включают исправления для XHR для локальных файлов, + исправления, позволяющие корректно функционировать приложениям jQM для одного / нескольких страниц.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...