NS_ERROR_NOT_AVAILABLE: Код возврата компонента: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMWindow.alert]

Я вызываю переменную javascript внутри функции автозаполнения и создаю url в ajax из значения текстового поля, но он показывается неопределенным.

function fetchRecords()
{
 var searchStr=$("#tags").val();

 var finalLink=urlformjavascriptvariable;
 $.ajax({
 url:finalLink,

 type: 'GET',
 dataType :'jsonp',
 async: false,
 crossDomain:true,
 success: function(data) {
 var resp = data.response;
 var availableTags = "[";
 for (i = 0; i <= 10; i++) {
 if(resp.messages.message[i].subject.$ != undefined)
 var postSub = resp.messages.message[i].subject.$;
 if (i < 10) {
 availableTags +="\"" +postSub + "\",";
 }
 else {
 availableTags +="\""+ postSub+"\"";
 }
}
availableTags += "]";
availableTags=eval(availableTags);

 $("#tags").autocomplete({
 source: availableTags,

 });
 }
});
}

Он показывает переменные неопределенные

1 ответ

for (i = 0; i <= 10; i++) {

Это оскорбительная строка кода. Вызов ajax проходит мимо количества элементов в вашем списке.

Переключение одного и того же оператора в

for (i = 0; i < resp.messages.message.length; i++) {

разрешит проблему.

licensed under cc by-sa 3.0 with attribution.