Javascript 如何在AJAX调用后生成smth?
我有一个ajax调用,它返回一个字符串并创建一个Javascript 如何在AJAX调用后生成smth?,javascript,jquery,ajax,callback,Javascript,Jquery,Ajax,Callback,我有一个ajax调用,它返回一个字符串并创建一个元素,其中包含一个字符串。然后我想向新创建的span添加一些类。但由于AJAX的异步特性,添加类的函数在AJAX调用之前执行 那么,我应该使用延期承诺吗?怎么做 中有一些简单的代码 预期结果: 单击按钮获取响应,并将类添加到span您希望将回调函数作为参数传递给您的get(): 在get()中: 不同的对象替代方法是从get()返回$.getJSON()承诺,并在其回调中添加类。完成回调: function get() { return
元素,其中包含一个字符串。然后我想向新创建的span
添加一些类。但由于AJAX的异步特性,添加类的函数在AJAX调用之前执行
那么,我应该使用延期承诺吗?怎么做
中有一些简单的代码
预期结果:
单击按钮获取响应,并将类添加到span您希望将回调函数作为参数传递给您的
get()
:
在get()
中:
不同的对象替代方法是从
get()
返回$.getJSON()
承诺,并在其回调中添加类。完成回调:
function get() {
return $.getJSON( // more code
}
$('button:eq(0)').click(function () {
get().done(function () {
$('span').addClass('red');
});
});
在这里,我也修复了你的css类。
你说:
这是一个错误:)
已改为
span.red {color:red}
记住强>
Ajax是一种异步调用,因此在完成请求后,您要执行的代码不能在调用后执行,但是它必须只写在回调中,一旦完成调用,就调用。对不起,我不是在寻找像您这样的解决方案。。。将所有函数存储在.done中不是一个好主意(function(result){}
我想看一个使用回调的示例。您不必将所有函数都存储在.done中,这正是达到目的所需的。但是,在这个站点上,您可以询问一些问题,等待答案,然后使用最适合您的函数:)
function get() {
return $.getJSON( // more code
}
$('button:eq(0)').click(function () {
get().done(function () {
$('span').addClass('red');
});
});
span.red {color:green}
span.red {color:red}