AJAX多重回复

问题描述 投票:1回答:2

我现在正在深入研究JavaScript和AJAX技术,并且我很了解AJAX和POST。现在我想知道我的PHP代码(在这种情况下,Laravel控制器)是否广播到广播频道,然后由客户端的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);
    }
});

现在我想知道这是如何进一步的。

javascript php ajax laravel-5.5
2个回答
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来应用转换,以感受进度条中的进度。


0
投票

使用javascript回调或承诺的概念。你可以创建一个脚本,当点击按钮时,onclick函数将运行并更改tge按钮内的内容,当更改时执行ajax调用,如果成功再次调用promise

© www.soinside.com 2019 - 2024. All rights reserved.