1

我正在做一个 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是一个有效的 URL;我的其他功能使用它没有问题。

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

4

1 回答 1

1

日志函数期望它的上下文是控制台对象而不是 jqXHR 所以试试

$.ajax({
    url:     ANNOTATION_ENDPOINT,
    data:    data,
    success: console.log.bind(console),
    error:   console.log.bind(console)
});
于 2013-03-09T17:11:32.663 回答