jQuery UI自动完成返回“Request-URI Too Large”

时间:2013-03-31 21:09:44

标签: jquery jquery-ui-autocomplete

我正在尝试使用jQuery.autocomplete而不使用回调。我的JSON数据源存储在JS变量中。这一点是为了避免拨打电话。

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

  

Request-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)

1 个答案:

答案 0 :(得分:4)

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