4

我正在尝试使用jQuery.autocomplete而不使用回调。我的 JSON 数据源存储在 JS 变量中。这样做的目的是避免发球。

但是当我尝试使用自动完成时,我不断收到错误消息

请求 URI 太大

这是我的代码:

// This list is much longer
country_data_source =   [{"id":"AF","name":"Afghanistan"},{"id":"AL","name":"Albania"},{"id":"DZ","name":"Algeria"},{"id":"AS","name":"American Samoa"},{"id":"AD","name":"Andorra"},{"id":"AO","name":"Angola"}]

jQuery( "#country" ).autocomplete({
  minLength: 0,
  source: country_data_source
 });

由于浏览器限制,jQuery 是否仍在使用 POST/GET 从而给我这个错误?

*注意:*如果我只使用上面的简短列表,自动完成完全没有响应。
甚至尝试过$.getJSON(country_data_source)

4

1 回答 1

4

自动完成可能无法将您的数组理解为本地源,因为它不是由对象组成,每个对象都由“标签”和“值”属性组成。在您的情况下,您提供的 id 和名称不是它所期望的。您必须转换此数组的对象,或者您可能只提供将用作标签的字符串数组。因为 jQuery UI Autocomplete 没有在你的数组中找到它正在搜索的内容,所以它切换到下一个解释:一个 url。

于 2013-03-31T21:41:25.297 回答