Ответ 1
Это говорит о том, что запрос HTTP был успешным, но попытка проанализировать данные не была.
то есть. что данные не были отформатированы как JSONP.
У меня есть этот вызов 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, но никто не решил его решить.
Это говорит о том, что запрос HTTP был успешным, но попытка проанализировать данные не была.
то есть. что данные не были отформатированы как JSONP.
эти изменения решили мою проблему.
//Серверная сторона
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));
}
});
У меня только одна и та же проблема: { "readyState": 4, "status": 200, "statusText": "success" }
это произошло потому, что я забыл удалить в своем php script эхо "привет"; который я ранее делал по причинам тестирования, поэтому мой PHP скрипт отправлял строку вместе с JSON, это была моя глупая ошибка, возможно, у вас тоже есть.