我试图从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); }
答案 0 :(得分:1)
看起来您在Ajax函数中设置了两个数据选项。而不是行
data: "jsonp",
你需要
dataType: "jsonp"
因为你实际上没有传递PHP文件的任何信息。
另外几件事,确保你获得了有效的JSON(jsonlint.com),我们遇到了类似的问题,结果我们得到了错误的报价。
最后:您可能需要使用JSON.parse(数据)来查看将其转换为Javascript结尾的对象。