Тип данных JSON и проблема с текстом из вызовов jQuery ajax

#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 возникает проблема