在移动设备上,Jquery Ajax请求工作非常慢

时间:2018-03-21 15:17:03

标签: javascript mysql ajax laravel performance

我已使用laravel上的jQuery ajaxkeyup中创建了实时搜索表单。 我使用datalistoptions添加到datalist。 我的数据库有大约3000个德国城市的记录,当用户开始输入datalist时,ajax request被发送到服务器,所有可能的城市都会返回到我的页面。 这是我的问题:

$cities = DB::table('cities')->where($city,'like',$request->search.'%')->pluck($city);

这是我的jQuery ajax调用:

 $.ajax({

        type : 'get',

        url : '/'+'en'+'/search',

        data:{'search':search_value,country:country,'_token':token},
        dataType:"json",
        success:function(data){
            $('#cities').empty();
                var citylist='';
            $.each(data, function (i, item) {
                citylist+="<option value='" + item + "'>"
            });
             $('#cities').append(citylist);
        }

    });

此代码在computerlaptop上的普通浏览器上运行速度非常快,但只要我在mobile device上尝试它就会挂起并且没有响应。 我得到所有200 code,这意味着requestresponse成功了,但是当我输入第一个字母时,我必须等待一分钟才能看到新添加的options并为每个新输入的信件再等一分钟。 我的联系是4G super fast。 当我在responsive mode的{​​{1}}或firefox浏览器中转到chrome时,会出现同样的问题。 我对这个问题非常困惑,任何帮助都会受到赞赏。 提前致谢。

1 个答案:

答案 0 :(得分:-1)

尝试在您的ajax中添加async: false