Возврат AJAX из данных, отправленных через jQuery.ajax - PullRequest
0 голосов
/ 08 марта 2010

Я пытаюсь получить объект json от php после отправки данных в файл php из файла js.

Все, что я получаю, не определено.

Вот содержимоеФайл php и js.

data.php

<?php

$ action = $ _GET ['user'];

$ data = array("first_name" => «Anthony», «last_name» => «Garand», «email» => «anthonygarand@gmail.com», «password» => «changeme»);

switch ($ action) {case 'anthonygarand@gmail.com': echo $ _GET ['callback'].'('. json_encode ($ data). ');';перерыв;}

?>

core.js

$(document).ready(function(){
$.ajax({    url: "data.php", 
            data: {"user":"anthonygarand@gmail.com"}, 
            context: document.body, 
            data: "jsonp",
            success: function(data){renderData(data);}
            });

});

функция renderData (data) {document.написать (data.first_name);}

1 Ответ

1 голос
/ 08 марта 2010

Похоже, у вас есть две опции данных, установленные в функции Ajax. Вместо строки

data: "jsonp",

Вам нужно

dataType: "jsonp"

Поскольку вы на самом деле не передаете в файл PHP какую-либо информацию.

Еще одна вещь, убедитесь, что вы получаете действительный JSON (jsonlint.com), у нас была похожая проблема, и оказалось, что у нас были неправильные цитаты.

Наконец: вам МОЖЕТ быть необходим JSON.parse (data), чтобы увидеть, как преобразовать его в объект в конце Javascript.

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