2012-05-30 3 views
0

Ниже мой код:JSONP не дает никакого ответа

$.ajax({ 
       url: url, 
       type: 'GET', 
       dataType: 'jsonp', 
       error: function(xhr, status, error) { 
         alert("xhr="+xhr+" status="+status+" Error="+error); 
        }, 
        success: function(jsonp) { 
         alert("success"); 
        } 
     }); 

Url содержит PHP файл, расположенный на внешнем сервере, где я сделал echo json_encode($array);

Ответ показан на Firebug вкладке сети, но тревога показывает следующее сообщение об ошибке:

XHR = [объект Object] состояние = parsererror Ошибка = Ошибка: jQuery17209610263814778152_1338375769339 не был called.alert не показывает успех

+0

Что происходит при вставке URL в файл производящего JSONP прямо в браузере? –

+0

@ N.B. : он показывает содержимое в формате json – Sky

+0

@NB: Он показывает следующий ответ: '[{" destination ":" Dallas Texas United States "," country ":" United States "}, {" destination ":" Dallas XXX XXXX States "," country ":" United States "}]' – Sky

ответ

4

Попробуйте это:

echo $_GET["callback"] . "(" . json_encode($array) . ");"; 
+0

Я хочу разработать приложение, используя только javascript и HTML. не хотите использовать php-код там – Sky

+0

@ Kunal right, в вашем вопросе вы сказали, что 'Url содержит файл php, расположенный на внешнем сервере, где я сделал echo json_encode ($ array);'. Это неправильно, потому что это не 'JSONP', мой ответ меняет его на' JSONP'. – Esailija

+0

спасибо ... но я только хочу взять данные из php-файла, чтобы не использовать его в моем коде. – Sky

Смежные вопросы