我已使用laravel
上的jQuery ajax
在keyup
中创建了实时搜索表单。
我使用datalist
将options
添加到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);
}
});
此代码在computer
或laptop
上的普通浏览器上运行速度非常快,但只要我在mobile device
上尝试它就会挂起并且没有响应。
我得到所有200 code
,这意味着request
和response
成功了,但是当我输入第一个字母时,我必须等待一分钟才能看到新添加的options
并为每个新输入的信件再等一分钟。
我的联系是4G super fast
。
当我在responsive mode
的{{1}}或firefox
浏览器中转到chrome
时,会出现同样的问题。
我对这个问题非常困惑,任何帮助都会受到赞赏。
提前致谢。
答案 0 :(得分:-1)
尝试在您的ajax中添加async: false
。