我现在正在深入研究JavaScript和AJAX技术,并且我很了解AJAX和POST。现在我想知道我的PHP代码(在这种情况下,Laravel控制器)是否广播到广播频道,然后由客户端的JavaScript接收,以便操纵某些东西,比如像这样的过程:
用户点击按钮,按钮内显示微调器。在按钮旁边,有一个状态标签,指示正在处理的当前进程/任务。最后,按钮成为链接或其他内容。所以,我现在想要的是我可以多次更新状态,因为我当前的AJAX代码只会在流程结束时收到一条消息或一个状态,而且它之间没有任何内容:< / p>
$.ajax({
url: "/admin/test",
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
method: 'POST',
dataType: 'json',
data: {
id: whatever
},
success: function(result)
{
console.log(result.status);
}
});
现在我想知道这是如何进一步发挥作用的。
答案 0 :(得分:2)
您可以使用ajax的 beforeSend 事件并使用它来启动进度条,完成后可以将进度条宽度设置为100%
$.ajax({
url: "/admin/test",
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
method: 'POST',
dataType: 'json',
data: {
id: whatever
},
beforeSend : {
// start progress bar
},
success: function(result)
{
console.log(result.status);
// complete progress bar
}
});
此外,您可以使用css来应用转换,以感受进度中的进度条。
答案 1 :(得分:0)
使用javascript回调或承诺的概念。你可以创建一个脚本,当点击按钮时,onclick函数将运行并更改tge按钮内的内容,当更改时执行ajax调用,如果成功再次调用promise