Подтвердить что ты не робот

Обратный вызов ошибки с { "readyState": 4, "status": 200, "statusText": "success" }

У меня есть этот вызов url. url возвращает объект json, как ожидалось (прямой вызов браузера), но когда я делаю это через ajax с помощью следующих строк

$.ajax({
       url: url, 
       type: "GET",
       dataType:"jsonp",   
       success: function(data) {
          alert(data);
       },
       error : function(error) {
          alert("no good "+JSON.stringify(error));
       }
});

он возвращает меня

no good {"readyState":4,"status":200,"statusText":"success"}

Я знаю, что есть другие похожие вопросы о stackoverflow, но никто не решил его решить.

4b9b3361

Ответ 1

Это говорит о том, что запрос HTTP был успешным, но попытка проанализировать данные не была.

то есть. что данные не были отформатированы как JSONP.

Ответ 2

эти изменения решили мою проблему.

//Серверная сторона

echo $_GET['callback'] . '('.json_encode($data_to_encode).')';

//JS

$.ajax({
       url: url+"?callback=?", 
       type: "GET",
       dataType:"jsonp",   
       success: function(data) {
          alert(data);
       },
       error : function(error) {
          alert("no good "+JSON.stringify(error));
       }
});

Ответ 3

У меня только одна и та же проблема: { "readyState": 4, "status": 200, "statusText": "success" }

это произошло потому, что я забыл удалить в своем php script эхо "привет"; который я ранее делал по причинам тестирования, поэтому мой PHP скрипт отправлял строку вместе с JSON, это была моя глупая ошибка, возможно, у вас тоже есть.