Javascript AJAX多响应
我现在正在深入研究JavaScript和AJAX技术,我理解AJAX,并能很好地使用它。现在我想知道是否有类似于我的PHP代码(在本例中为Laravel controller)广播到的广播频道的东西,然后JavaScript在客户端接收到该频道以进行操作,比如这样的过程: 用户单击一个按钮,按钮内会显示一个微调器。按钮旁边有一个状态标签,指示当前正在处理的流程/任务。最后,按钮变成一个链接或其他东西。因此,我现在想要的是,我可以多次更新状态,因为我当前的AJAX代码在流程结束时只会收到一条消息或一个状态,仅此而已,中间没有任何内容:Javascript AJAX多响应,javascript,php,ajax,laravel-5.5,Javascript,Php,Ajax,Laravel 5.5,我现在正在深入研究JavaScript和AJAX技术,我理解AJAX,并能很好地使用它。现在我想知道是否有类似于我的PHP代码(在本例中为Laravel controller)广播到的广播频道的东西,然后JavaScript在客户端接收到该频道以进行操作,比如这样的过程: 用户单击一个按钮,按钮内会显示一个微调器。按钮旁边有一个状态标签,指示当前正在处理的流程/任务。最后,按钮变成一个链接或其他东西。因此,我现在想要的是,我可以多次更新状态,因为我当前的AJAX代码在流程结束时只会收到一条消息或
$.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);
}
});
现在我想知道这是如何进一步发挥作用的 您可以使用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应用转换,让人感觉到进度条中的进度。使用javascript回调或承诺的概念。您可以创建一个脚本,当单击按钮时,onclick函数将运行并更改tge按钮内的内容,当更改时,执行ajax调用,如果成功再次调用承诺,您应该查看websocketsIf服务器需要在不同时间发回多个内容,如果要使用XMLHttpRequest,则需要多次调用。可能需要查看SSE: