AJAX返回通过jQuery.ajax发送的数据的问题

时间:2010-03-08 19:47:04

标签: ajax jquery

我试图从js文件向php文件发送数据后从php接收一个json对象。

所有我得到的都是未定义的。

以下是php和js文件的内容。

data.php

<?php

$ action = $ _GET ['user'];

$ data = array(“first_name”=&gt;“Anthony”,                 “last_name”=&gt; “伽兰德”                 “email”=&gt; “anthonygarand@gmail.com”                 “password”=&gt; “changeme”);

开关($ action){     案例'anthonygarand@gmail.com':         echo $ _GET ['callback']。 '('。json_encode($ data)。');';     打破; }

&GT;

core.js

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

});

function renderData(data){     文件撰写(data.first_name); }

1 个答案:

答案 0 :(得分:1)

看起来您在Ajax函数中设置了两个数据选项。而不是行

data: "jsonp",

你需要

dataType: "jsonp"

因为你实际上没有传递PHP文件的任何信息。

另外几件事,确保你获得了有效的JSON(jsonlint.com),我们遇到了类似的问题,结果我们得到了错误的报价。

最后:您可能需要使用JSON.parse(数据)来查看将其转换为Javascript结尾的对象。