我有两个 jQuery UI Autocomplete小部件设置。对于第一个自动完成,用户将输入客户的姓名 - 自动完成将缩小范围,直到选择了正确的客户。然后我有一个回调,它获取返回的客户端 ID 并将其放入隐藏的输入字段中。
接下来是第二个自动完成字段。 搜索时,这需要向服务器发送两个变量 - 用户的搜索字符串(term
),以及先前搜索的客户端的用户 ID。
我在处理服务器端方面没有问题,但我遇到的问题是如何将 2 个变量传递给 Ajax 调用,而不仅仅是 term
。在我的 PHP 后端中,我还需要查询用户 ID,以仅返回属于该用户的属性。
我该怎么做?
谢谢!
编辑:感谢@JohnP,这就是我最终的结果 - 似乎对我来说工作得很好。将此张贴在这里以供以后路过的任何人引用:
source: function (request, response) {
var request_data = {
term: request.term,
client_id: $('input#client_id_string').val()
};
var url = 'http://mysite.com/search/ajax_search';
$.getJSON(url, request_data, function (data, status, xhr) {
response(data);
});
},
最佳答案
如果 source
方法是静态方法,您可以覆盖它。
//code
source: function (request, response) {
var term = request.term;
//caching if yo uwant
var myCustomVar = 42;
$.getJSON(url + term + '/' + myCustomVar , request, function (data, status, xhr) {
response(data);
});
},
//code
如果需要,您可以将其作为 URL 的一部分,也可以将其与请求一起传递。
关于javascript - jQuery UI 自动完成 : How can I pass additional data with my Ajax call?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7965068/