我有一个我正在尝试编写的方法,可以将数据发布到php文件并获取结果并将输出返回给变量。出于某种原因,我的代码块无效。
function post_get(){
var result = null;
$.post("modules/data.php", { "func": "getNameAndTime" },
function(data){
result = JSON.parse(data);
}, "json");
return result;
}
使用此方法时出现此错误
SyntaxError:JSON解析错误:意外的标识符“未定义”
答案 0 :(得分:7)
这就是编写代码以利用ajax的异步特性的方法。
function post_get(){
return $.post("modules/data.php", { "func": "getNameAndTime" }, "json");
}
post_get().done(function(data){
// do stuff with data
console.log(data);
}).fail(function(){
console.log(arguments);
alert("FAIL.\nCheck the console.");
});
// Do not attempt to bring data from inside the above function to out here.
答案 1 :(得分:1)
如果您的服务器返回正确的JSON编码输出并设置正确的标题(Content-Type: application/json
),您可以立即使用data
:
$.post("modules/data.php", {
"func": "getNameAndTime"
},
function(data){
console.log(data);
}, "json");
// btw, at this point in the code you won't have access to the return value
事实上,即使它没有返回正确的数据,console.log(data)
也应该为您提供足够的信息,以便找出它首先不起作用的原因。