jQuery:ajax和自动完成失败
我正在尝试将ajax请求与自动完成功能结合起来。但自动完成似乎有问题。我正在使用来实现我的代码 控制台返回类似于:jQuery:ajax和自动完成失败,jquery,jquery-ui,Jquery,Jquery Ui,我正在尝试将ajax请求与自动完成功能结合起来。但自动完成似乎有问题。我正在使用来实现我的代码 控制台返回类似于:http://domain.com/[%22…这里来自ajax的数组]?term=我输入的内容指向403错误-- 虽然这对我来说很简单,但我还是有点迷茫 <script type='text/javascript'> $("input[name=search]").on('keyup', function(){ jQuery.ajax({
http://domain.com/[%22…这里来自ajax的数组]?term=我输入的内容
指向403错误--
虽然这对我来说很简单,但我还是有点迷茫
<script type='text/javascript'>
$("input[name=search]").on('keyup', function(){
jQuery.ajax({
type: 'POST', // Le type de ma requete
<?php echo "url: '".PTC.ROOT.DS."ajax'"; ?>, // URL to call (works)
data: {
search: ''+$("input[name=search]").val()+''
},
success: function(data, textStatus, jqXHR) {
window.availableNames = data; //JSON format
$(function() {
alert(window.availableNames); //Show the JSON encoded table with the right result.
$("input[name=search]").autocomplete({source: window.availableNames}); // Fails.
});
},
error: function(jqXHR, textStatus, errorThrown) {
}
});
});
</script>
$(“输入[name=search]”)。在('keyup',函数()上{
jQuery.ajax({
类型:'POST',//Le-type-de-ma-requete
Autocomplete可以选择提供url作为
使用字符串时,Autocomplete插件希望该字符串指向将返回JSON数据的URL资源。该字符串可以位于同一主机上,也可以位于不同主机上(必须提供JSONP)。Autocomplete插件不过滤结果,而是使用请求参数“term”将添加到URL,服务器端脚本应使用该URL筛选结果。数据本身的格式可以与上面描述的本地数据相同
因此,请确保位于所提供url处的api端点返回json并正确响应“term”参数
这样,您就不必处理自己的ajax调用
因此,自动完成代码将如下所示:
$("input[name=search]").autocomplete({source: '<?php echo PTC.ROOT.DS."ajax"; ?>'});
$(“输入[name=search]”)。自动完成({source:'});
此页面是否与您通过AJAX调用的页面在同一个域上运行?也就是说,它们都在domain.com
上,而不是不同的域或子域上?只是一个简单的问题-如果您使用的是FireFox,可以通过以下方法解决:在.htaccess中关闭SecFilterEngine
)是的,它是同一个域!@Jimbo我使用Chrome:sTry直接访问url,你的文件可能没有正确的权限。好吧,ajax的东西工作得很好:它进入数据库,并返回类似[“name-names,name1-names1”]但它不希望被autocomplete使用,相反,控制台会返回一些奇怪的信息:/