我想要一个简单的函数,我可以插入一个sqlQuery并以json格式获取数据库答案,如下所示:
function ExecuteQuery(query){
$.post("sql.php", { "query": query },
function(data){ return data; },
"json");
}
我得到的回答是未定义的,我想我误解了一些非常基本的东西,但我不知道是什么,有人可以给我一个提示吗?
答案 0 :(得分:1)
问题是你想要一些你不能拥有的东西:-)而不是根据返回一个值的函数来思考,自己写一个带有另一个函数的函数作为参数,并在数据可用时调用它。
function ExecuteQuery(query, callback){
$.post("sql.php", { "query": query },
function(data){ callback(data); },
"json");
}
现在,当您调用该函数时,您将向其传递一个函数,该函数可以获取服务器响应并对其执行某些操作。
ExecuteQuery("whatever", function(results) {
// do something with "results"
});
答案 1 :(得分:0)
您需要对数据执行某些操作 - 您不能只返回它。外部函数立即返回,但内部函数在服务器往返后返回。尝试执行alert(data)
以查看其工作原理。