#jquery #json #mockjax
#jquery #json #mockjax
Вопрос:
Я делаю два вызова ajax на одной странице с помощью jquery.
Первый предназначен для автозаполнения в jquery mockjax, а второй — для получения данных списка.Оба они конфликтуют с возвращаемыми данными.
Вот для автоматической компиляции
$.mockjax({
url: '*',
responseTime: 2000,
contentType: "text/json",
response: function (settings) {
var query = settings.data.query,//this line give me error
queryLowerCase = query.toLowerCase(),
re = new RegExp('\b' $.Autocomplete.utils.escapeRegExChars(queryLowerCase), 'gi'),
suggestions = $.grep(countriesArray, function (country) {
// return country.value.toLowerCase().indexOf(queryLowerCase) === 0;
return re.test(country.value);
}),
response = {
query: query,
suggestions: suggestions
};
this.responseText = JSON.stringify(response);
Здесь приведен список данных
$.getJSON("getname.php?city=" city, function(json){
$.each(json, function (i, item) {
Теперь оба они конфликтуют с возвращаемыми данными JSON.
Как я могу изменить JSON в $.getJSON
ОБНОВЛЕНИЕ: когда я не использую getJSON, проблем нет, при вызове getJSON возникает проблема
Обновление: вот мои настройки для mockjax
status: 200,
statusText: "OK",
responseTime: 500,
isTimeout: false,
contentType: 'text/plain',
response: '',
responseText: '',
responseXML: '',
proxy: '',
proxyType: 'GET',
lastModified: null,
etag: '',
headers: {
etag: 'IJF@H#@923uf8023hFO@I#H#',
'content-type' : 'text/plain'
}
Комментарии:
1. Если вы проверяете настройки, какой это тип данных, как насчет выполнения JSON.parse(settings); var query = settings.data . запрос; кстати, я думаю, что у вас есть синтаксическая ошибка в вашем опубликованном коде, запятая в конце строки…
2. почему в конце есть запятая, должно быть ;
3. Я обновляю завершенный код автозаполнения, в консоли я получаю только эту ошибку в red MOCK GET: getname.php …..
4. Запятая в конце строки в порядке, так как он устанавливает несколько переменных.
5. Когда я не использую getJSON, проблем нет, при вызове getJSON возникает проблема