从jquery $ .post返回数据

时间:2010-06-20 16:35:42

标签: javascript jquery sql json

我想要一个简单的函数,我可以插入一个sqlQuery并以json格式获取数据库答案,如下所示:

  function ExecuteQuery(query){
    $.post("sql.php", { "query": query },
     function(data){ return data;  },
     "json");
   }

我得到的回答是未定义的,我想我误解了一些非常基本的东西,但我不知道是什么,有人可以给我一个提示吗?

2 个答案:

答案 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)以查看其工作原理。