Ajax jQuery异步返回值

我如何才能使此代码返回值 。

您当然可以用新方法重写它。

function get_char_val(merk)

{

var returnValue = null;

$.ajax({

type: "POST",

async: false,

url: "char_info2.php",

data: { name: merk },

dataType: "html",

success: function(data)

{

returnValue = data;

}

});

return returnValue;

}

var px= get_char_val('x');

var py= get_char_val('y');

我需要至少在其他时间从php文件中获取20个变量。

回答:

这是不可能的。

Javascript在UI线程上运行;如果您的代码等待服务器回复,则浏览器必须保持冻结状态。

相反,您需要使用回调返回值:

function get_char_val(merk, callback)

{

var returnValue = null;

$.ajax({

type: "POST",

url: "char_info2.php",

data: { name: merk },

dataType: "html",

success: function(data) {

callback(data);

}

});

}

get_char_val('x', function(px) { ... });

get_char_val('y', function(py) { ... });

请注意,这两个回调将以不可预测的顺序运行。


您应该修改设计,以便可以在单个AJAX请求中获得所有二十个值。

例如,您可以采用逗号分隔的值列表,然后返回JSON对象,例如{ x: "...", y: "..." }

以上是 Ajax jQuery异步返回值 的全部内容, 来源链接: utcz.com/qa/407806.html

回到顶部