я встретил большой одну проблему с JQuery автозаполнения с источником .asmx файл вот мой код:Ajax JQuery автозаполнения получить данные из ASMX
есть метод C# или что-то (что код не моя, просто для вас, чтобы посмотреть)
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = true)] //Specify return format.
public string GetQuestionsByWord(string Word)
{
//JavaScriptSerializer YourSerializer = new JavaScriptSerializer();
//return YourSerializer.Serialize(FAQsCOL);
Dictionary<string, string> FAQsCOL = clsFAQBLL.GetFAQCOLByWordInQuestionAnswer(Word);
//Dictionary<string, string> ReturnLinks = FAQsCOL.ToDictionary(m => string.Format("{0}?{1}={2}", clsParameters.clsPages.ENTERPRISE_PORTAL_FAQs, clsParameters.clsQueryString.FAQ_ID, m.Key), m => m.Value);
return JsonConvert.SerializeObject(FAQsCOL);
}
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = true)] //Specify return format.
public string GetQuestionByQuestionId(int FAQId)
{
Linq.General.FAQ CurrentFAQ = clsFAQBLL.GetFAQByFAQId(FAQId);
FAQ FAQ = new FAQ();
if (CurrentFAQ != null)
{
FAQ = new FAQ(CurrentFAQ.Question, CurrentFAQ.Answer);
}
return JsonConvert.SerializeObject(FAQ);
}
после всех этих я получаю в консоли (поиск «2»): jquery-2.1.4.min.js:2 Uncaught TypeError: Cannot use 'in' operator to search for 'length' in {"5":"שאלה - 17","11":"מהו הנוהל לגבי מתמחה אשר מנהלו מסרב לחתום על טופס ההרשמה לבחינה?","20":"מהו נוהל הזכאות לגשת לבחינות התמחות?"}
Я попытался вывести данные в массив (поиск «1»), вот и выглядит: d : "{"2":"שאלה 2","3":"שאלה 2","4":"שאלה 2","11":"מהו הנוהל לגבי מתמחה אשר מנהלו מסרב לחתום על טופס ההרשמה לבחינה?","20":"מהו נוהל הזכאות לגשת לבחינות התמחות?"}"
Может ли кто-нибудь мне помочь? Я потерял много времени для этого больного вещь не могу понять это ошибка или что-то в WebService или в моей функции Jquery
Что 'console.log (data.d)' дать вам успеха метод? И вы должны использовать '' {"Word": "'+ $ (' # enterprise_search '). Val() +'"} ''. Кроме того, убедитесь, что '$ ('# enterprise_search'). Val()' не содержит каких-либо фанковых символов, таких как '{', которые испортят запрос. – Chintan
@Chintan ваша вещь не работает, она возвращает ошибку 500 (внутренняя ошибка сервера) 'console.log (data.d)' on succes (поиск «1») - '{" 2 ":" שאלה 2 ", «3»: «שאלה 2», «4»: «שאלה 2», «11»: «מהו הנוהל לגבי מתמחה אשר מנהלו מסרב לחתום על טופס ההרשמה לבחינה?», «20»: «מהו נוהל הזכאות לגשת לבחינות התמחות? "}' Возможно ли, что иврит испортил данные, которые я получил? посмотрите на первый - ''2': 'something': '11'' – scDisorder