Mar*_*ark 3 javascript jquery function
我有一个这样的函数,它执行ajax调用从数据库中获取一些数据.
function db (content) {
$.post('/ajax/db.php', {
operation:operation,
content:content
}, function(data)
{
console.log(data);
return data;
});
}
Run Code Online (Sandbox Code Playgroud)
console.log(data); 给了我想要的数据.
但是我如何传递data给函数db以便我可以执行以下操作:
var returnedData = db ('content');
Run Code Online (Sandbox Code Playgroud)
谢谢!
AJAX操作是异步的,因此直接返回它不是一个选项,除非你使它同步(这会锁定浏览器).相反,您应该将数据传递到回调中的下一个函数,如下所示:
function db (content) {
$.post('/ajax/db.php', {
operation:operation,
content:content
}, function(data)
{
nextFunction(data);
});
}
Run Code Online (Sandbox Code Playgroud)
或者让它进行回调,这样你就可以传递将获得数据的函数,当它准备就绪时,如下所示:
function db (content, callback) {
$.post('/ajax/db.php', {
operation:operation,
content:content
}, callback);
}
Run Code Online (Sandbox Code Playgroud)
然后调用它提供回调函数,例如:
db('content', function(data) {
//do something with data
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3864 次 |
| 最近记录: |