Sti*_*ens 1 javascript ajax jquery
我得到了这段代码:
function server_request(module,section,action,data) {
data['module'] = module;
data['section'] = section;
data['action'] = action;
var responsetxt = null;
$.post('../application/server.php', data, function(data) {
responsetxt = data;
});
return responsetxt;
}
它回归了null吗?
我想要的是让server_request函数返回responseText?但在某种程度上它不起作用,为什么?以及如何让它发挥作用?
您正在为$ .post提供回调函数,该函数将在返回请求时运行.server_request函数立即返回(即在响应可用之前),因此responsetxt仍为null.
要解决此问题,您可以向server_request添加一个回调参数,然后在您提供给$ .post调用的匿名函数中执行它:
function server_request(module,section,action,data,callback) {
data['module'] = module;
data['section'] = section;
data['action'] = action;
$.post('../application/server.php', data, function(data) {
callback(data);
});
}
Run Code Online (Sandbox Code Playgroud)
然后你可以使用它:
$(function() {
var module = x, section = y, data = z;
server_request(module, section, data, function(response) {
$('#result').html(response); // do stuff with your response
});
});
Run Code Online (Sandbox Code Playgroud)
查看继续传递样式以获取更多信息(http://en.wikipedia.org/wiki/Continuation-passing_style和http://matt.might.net/articles/by-example-continuation-passing-style/).
| 归档时间: |
|
| 查看次数: |
1030 次 |
| 最近记录: |