Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ajax中的POST方法给出一个错误';非法调用';?_Javascript_Jquery_Ajax_Json - Fatal编程技术网

Javascript ajax中的POST方法给出一个错误';非法调用';?

Javascript ajax中的POST方法给出一个错误';非法调用';?,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,我想在Ajax中使用POST方法获取JSON数据。我使用下面的代码来检索数据,但它给出了如下错误 TypeError:非法调用 在上面的链接中,我得到了JSON格式的数据。这里mylocalhost.com被我的IP和端口号替换 var domain_url = "http://mylocalhost.com/statics"; var obj = { action: 'retrive', table: 'log', dataType: 'json', pro

我想在Ajax中使用POST方法获取JSON数据。我使用下面的代码来检索数据,但它给出了如下错误

TypeError:非法调用

在上面的链接中,我得到了JSON格式的数据。这里mylocalhost.com被我的IP和端口号替换

var domain_url = "http://mylocalhost.com/statics";

var obj = {
    action: 'retrive',
    table: 'log',
    dataType: 'json',
    processData: false,
    limit: 20,
    option: {_id: {$lt :id}}
};

console.log(obj)

$.ajax({
    url: domain_url,
    type: 'POST',
    data: obj,
    success: function(data, res){
        console.log(data)
    },
    error: function (errorThrown, res)
    {
    }
});

当jQuery试图获取您传入的对象并将其转换为要传递给服务器的参数时,会发生此错误。问题在于变量id中到底有什么。如果是字符串/数字,就可以了

var id = 123;
var opt = {option: {_id: {$lt : id}}};
var qs = $.param(opt);  //fine
当有人试图引用某个对象的属性,但最终只是设置该对象时,通常会出现错误

var id = document.getElementsByTagName("input")[0];
var opt = {option: {_id: {$lt : id}}};
var qs = $.param(opt);  //results in "Illegal invocation"

所以id中存储的值可能不是您认为的值

错误发生在哪一行?我想可能是
选项:{{u id:{$lt:id}}
有问题。我认为不能将嵌套对象作为数据对象的一部分传入。每个值都必须是字符串。变量
id
中有什么?这就是你的问题。@Andy我刚刚测试了一个三层嵌套的对象,
$.ajax({url:“/”,键入:“POST”,数据:{a:{$lt:5}}}}})
,它工作正常;jQuery的结果查询字符串是
a[\u id][$lt]=5
。我认为这可能是一个循环引用问题,但这会导致“
超过最大调用堆栈大小”。这里似乎没有足够的内容来重现问题。要将副本应用于您的问题:
id
的值要么是DOM对象,要么是包含DOM对象的对象(例如jQuery对象)。