Я вернул данные JSONP, которые отображаются в консоли, отформатированной должным образом.Пытается получить возвращаемые данные JSONP через jQuery.ajax()
group({
"blah": "blah",
"blahblah": "blahblah",
"blahblahblah": "blahblahblah"
});
Это мой вызов ajax.
$.ajax({
type: 'GET',
url: 'test.php',
dataType: 'jsonp',
cache: false,
jsonpCallback: 'group',
statusCode: {
404: function() {
alert("page not found");
}
},
success: function(group){
console.log(group);
$('#theTest').append(group.name);
},
error: function(response1, response2, response3){
console.log("Fail!");
console.log(response1);
console.log(response2);
console.log(response3);
}
});
JSON обернут «группой». Однако, когда я пытаюсь получить доступ к этим данным, я не могу этого сделать.
- group.name, которое имеет значение в консоли, не отображается, когда я размещаю его на сайте.
- группа [0] возвращает гайанскую
- группы [1] возвращает г
- группы [2] возвращает о
Я запутался, почему все это возвращается таким образом. Может ли кто-нибудь указать мне в правильном направлении?
Почему вы настройки 'jsonpCallback:«group''? –
Это хороший вопрос. Я не уверен. Я установил обратный вызов: «группа» внутри данных ранее, но переместил его. Мой PHP-файл ищет обратный вызов. – Dave
Вам не нужно вручную устанавливать обратный вызов или его имя. Когда вы выполняете 'dataType: 'jsonp'', jQuery добавляет параметр' GET' к вашему URL с именем вызванного им обратного вызова: '$ _GET [' callback ']'. Вы должны использовать это при возврате PHP-скрипта: 'echo $ _GET ['callback']. '('. Json_encode ($ data). ')';'. –