首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Ajax的jQuery自动完成不能解析

使用Ajax的jQuery自动完成不能解析
EN

Stack Overflow用户
提问于 2014-04-26 03:32:00
回答 2查看 175关注 0票数 0

我正在尝试使用ajax的基本自动补全。我很难理解结果。我对jQuery比较陌生,所以我为我的语法道歉,我对PHP比较在行。

代码语言:javascript
复制
$("#category_title").autocomplete({
  source: function (request, response) {
    $.ajax({
       url: 'index.php?controller=AdminEvents&action=AutoComplete&variable=asdf',
       type: 'GET',
       success: function(data){
         response(data);
       }
    });
  },
  minLength: 2
});

来自控制器的响应是样本数据,实际上还没有从数据库中获得任何东西:

代码语言:javascript
复制
if ($this->isXHR())
{
  //$response = "{value1:test, value2:test2}";
  $response['value1'] = "test";
  $response['value2'] = "test2";
  $json = json_encode($response);
  print($json);
}

这是我感到奇怪的部分..基本上,这是可行的,并且会弹出自动补全框,但下面是它对返回的操作:

为什么?

耽误您时间,实在对不起!

EN

回答 2

Stack Overflow用户

发布于 2014-04-26 03:43:46

试试这个:

Jquery

代码语言:javascript
复制
$(document).ready(function(){
    $('#zipsearch').autocomplete({source:'suggest_zip.php', minLength:2});
});

PHP

代码语言:javascript
复制
$response = array();
$response[0]=array('label'=>'test','value'=>'test');
$response[1]=array('label'=>'test2','value'=>'test2');
echo json_encode($response);
票数 0
EN

Stack Overflow用户

发布于 2014-04-26 06:48:27

也许这对你有帮助

jquery

代码语言:javascript
复制
$("#zipsearch").autocomplete({
                    source: function(req,res) {
                        $.ajax({
                            url: "index.php?controller=AdminEvents&action=AutoComplete&variable=asdf",
                            dataType: "json",
                            type: "GET",
                            data: {
                                term: req.term
                            },
                            success: function(data) {
                                res($.map(data, function(item) {
                                    return {
                                        label: item.value1,
                                        value: item.value1
                                    };
                                }));
                            },
                            error: function(xhr) {
                                alert(xhr.status + ' : ' + xhr.statusText);
                            }
                        });
                    }
                });

PHP

代码语言:javascript
复制
<?php
$response=array();
$response[0]['value1'] = "test";
$response[1]['value1'] = "test2";
print json_encode($response);
?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23301478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档