(仍然)坚持Twitter Typeahead

时间:2016-05-26 19:25:59

标签: javascript php remote-access twitter-typeahead

如果我使用

var users_bloodhound = new Bloodhound({
    datumTokenizer: function (datum) {
        return Bloodhound.tokenizers.whitespace(datum.value);
    },
    queryTokenizer: Bloodhound.tokenizers.whitespace,
    remote: {url:'https://cdn.rawgit.com/twitter/typeahead.js/gh-pages/data/countries.json',
    filter: function (result) {
        return $.map(result, function (username) {
            return {
                name: username
            };
        });
    }
      }
});

将json格式化为 [“Andorra”,“阿拉伯联合酋长国”,“阿富汗”,......] 它按预期工作,但我无法接收返回的数据用我的.php文件

var users_bloodhound = new Bloodhound({
    datumTokenizer: function (datum) {
        return Bloodhound.tokenizers.whitespace(datum.value);
    },
    queryTokenizer: Bloodhound.tokenizers.whitespace,
    remote: {url:'./search.php?query=%QUERY',
    wildcard: '%QUERY',
    filter: function (result) {
        return $.map(result, function (username) {
            return {
                name: username
            };
        });
    }
      }
});

(我只在远程后改变了部分......).php文件接收输入和日志,例如 [“test01”,“test02”] 作为输入't'的答案。我的php文件的最后两行是:

error_log(json_encode($results));
return json_encode($results);

那么,我如何让我的JS函数接收我的php文件的返回值?

1 个答案:

答案 0 :(得分:0)

而不是returning json_encode您是否尝试过echoing,并注释掉错误日志以查看会发生什么?

//error_log(json_encode($results));
echo json_encode($results);