我似乎无法获得远程查询来正确使用POST。
var creditors = new Bloodhound({ datumTokenizer: function (d) { return Bloodhound.tokenizers.whitespace(d.value) },queryTokenizer: Bloodhound.tokenizers.whitespace,remote: { url: "../getCreditors",replace: function(url,query) { return url + "#" + query; },ajax : { type: "POST",data: $.param({q: queryInput.val()}) } } });
queryInput.val()不会获取对象的当前值,只能在实例化时间对象的时候使用该值。如何获取查询字符串到ajax数据选项?
解决方法
您可以使用$ .ajax的beforeSend
var creditors = new Bloodhound({ datumTokenizer: function (d) { return Bloodhound.tokenizers.whitespace(d.value) },ajax : { beforeSend: function(jqXhr,settings){ settings.data = $.param({q: queryInput.val()}) },type: "POST" } } });