【问题标题】:Is it good practice to make more than 8 ajax call at a time on single submit button event?在单个提交按钮事件上一次进行 8 个以上的 ajax 调用是一种好习惯吗?
【发布时间】:2020-02-28 23:26:38
【问题描述】:

我正在开发一个项目,它包含 8 个下拉菜单,所有这些下拉菜单都是可选的,例如用户可以根据自己的要求选择所有 8 个下拉菜单或 5 个下拉菜单或 3 个下拉菜单都是独立的,我已经为所有下拉菜单编写了代码意味着到目前为止,单个提交按钮上的 8 个 ajax 调用它可以在我的本地主机上完美运行,但是如果我将此代码放在实时站点中,它会给服务器带来任何性能问题

注意:所有下拉菜单都是独立的,因此它会调用控制器中的不同方法,为此我不能使用 form.submit()

我的代码如下所示:

<select>
  <option>value 1</option>
  <option >value 2</option>
  <option >value 3</option>
  <option >value 4</option>
</select>


<select>
  <option>value 1</option>
  <option >value 2</option>
  <option >value 3</option>
  <option >value 4</option>
</select>

--------------//-------- upto 8 dropdowns


$(".submit").click(function(){

$.ajax({
                url: "<?= base_url('controller/method') ?>",
                type: 'POST',
                data: {some_value:some_value },
                dataType: "JSON",
                success: function (response) {
                },   
            });

$.ajax({
                url: "<?= base_url('controller/method1') ?>",
                type: 'POST',
                data: {some_value:some_value },
                dataType: "JSON",
                success: function (response) {
                },   
            });
$.ajax({
                url: "<?= base_url('controller/method2') ?>",
                type: 'POST',
                data: {some_value:some_value },
                dataType: "JSON",
                success: function (response) {
                },   
            });

and so on 8 ajax calls to different method

});

【问题讨论】:

    标签: php jquery ajax xmlhttprequest


    【解决方案1】:

    不,但这也不意味着它是可怕的。

    HTTP 调用很昂贵,并且浏览器可能(可能会)限制允许并行运行多少个到同一个源,通常一次只允许四个(或两个在移动设备上)运行。 (您的服务器也可能会限制从同一个浏览器同时处理的数量,特别是如果您在服务器上使用会话机制,在这种情况下它可能一次只处理一个。)这意味着用户将如果你打一个电话或几个电话,他们会等待更长的时间。

    如果可能,提供一个接受所有八个输入的控制器并执行一个 ajax 调用,而不是执行八个 ajax 调用。

    【讨论】:

    • 感谢您的宝贵回答,实际上所有下拉菜单都在不同控制器中调用不同的方法,并且它们是独立的,因此无法在单个请求中调用
    • @user_1234 - 这就是我要提供一个接受所有八个输入的新控制器的意思(然后大概将它们传递给八个目标控制器)。如果这一切都发生在同一个来源,也就是说,它似乎来自问题中的 URL。
    猜你喜欢
    • 2019-11-07
    • 1970-01-01
    • 2010-11-12
    • 2014-01-06
    • 1970-01-01
    • 1970-01-01
    • 2016-01-03
    • 2015-01-08
    • 2016-07-26
    相关资源
    最近更新 更多