jQuery ajax TypeError:非法调用

时间:2013-03-09 17:07:31

标签: javascript ajax jquery

我正在开发一个Ajax项目。我页面上的所有内容都有效,包括此部分:

var data =  {
    doc:     "sample", 
    action:  "updatemsg", 
    dbid:    97, 
    message: "text"
};

$.ajax({
    url:     ANNOTATION_ENDPOINT,
    data:    data,
    success: console.log,
    error:   console.log
});

但是,在每次请求时,都会抛出此错误:

Uncaught TypeError: Illegal invocation    jquery.js:974
    fire                                  jquery.js:974
    self.fireWith                         jquery.js:1084
    done                                  jquery.js:7803
    callback                              jquery.js:8518

并且永远不会发出console.log次来电。 ANNOTATION_ENDPOINT是有效的网址;我的其他功能使用它没有问题。

我把问题分解为这个小部分,但我在这里感到困惑。有什么见解吗?

1 个答案:

答案 0 :(得分:1)

log函数期望其上下文是控制台对象而不是jqXHR,所以请尝试

$.ajax({
    url:     ANNOTATION_ENDPOINT,
    data:    data,
    success: console.log.bind(console),
    error:   console.log.bind(console)
});