Php TypeError:settings.data在MOCKJAX中未定义

Php TypeError:settings.data在MOCKJAX中未定义,php,jquery,ajax,mockjax,Php,Jquery,Ajax,Mockjax,我有mockjax代码,它给了我错误 $.mockjax({ url: '*', responseTime: 2000, response: function (settings) { var query = settings.data.query, queryLowerCase = query.toLowerCase(), re = new RegExp('\\b' + $.Autocomplete.u

我有mockjax代码,它给了我错误

  $.mockjax({
    url: '*',
    responseTime: 2000,
    response: function (settings) {
        var query = settings.data.query,
            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);
    }
});
这是我的ajax代码

 $.ajax({
             async: false,
             url: 'coments.php?id='+$('#id').val()+'&cmnt='+$('#cmnt').val()+'&type=2',
             success: function(data) {
             alert('saved');
             }
});
它给我错误
TypeError:settings.data是未定义的
当我检查控制台时

这是一个错误。基本上,请求匹配器只处理数据对象,而不处理查询字符串。您可以像这样更改
$.ajax()
调用以匹配您的模拟:

$.ajax({
    async: false,
    url: 'coments.php',
    data: {
        id: $('#id').val(),
        cmnt: $('#cmnt').val(),
        type: 2
    }
    success: function(data) {
        alert('saved');
    }
});