我有这样的东西,它是对脚本的简单调用,它给我一个值,一个字符串..
function testAjax() { $.ajax({ url: "getvalue.php", success: function(data) { return data; } }); }
但如果我这样称呼
var output = testAjax(svar); // output will be undefined...
那么我怎样才能返回值呢?下面的代码似乎也不起作用......
function testAjax() { $.ajax({ url: "getvalue.php", success: function(data) { } }); return data; }
从函数返回数据的唯一方法是进行同步调用而不是异步调用,但这会在等待响应时冻结浏览器。
您可以传入一个处理结果的回调函数:
function testAjax(handleData) { $.ajax({ url:"getvalue.php", success:function(data) { handleData(data); } }); }
像这样称呼它:
testAjax(function(output){ // here you use the output }); // Note: the call won't wait for the result, // so it will continue with the code here while waiting.