Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery:ajax和自动完成失败_Jquery_Jquery Ui - Fatal编程技术网

jQuery: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({

我正在尝试将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使用,相反,控制台会返回一些奇怪的信息:/