jQuery 1.5.1打破了所有ajax()调用

时间:2011-03-11 18:21:26

标签: jquery parse-error

当我升级到jQuery 1.5.1(或1.5)时,我站点中的所有ajax()调用都会在错误选项函数中生成“parserror”。还有一个脚本错误

Uncaught SyntaxError: Unexpected token : jquery-1.5.1.min.js:16

该网站使用1.4.4运行无错误。这是来自其中一个ajax()调用的代码。

$.ajax({
  url: '/CustomerGroup/Get',
  type: 'POST',
  contentType: 'application/json; charset=utf-8',
  dataType: 'json',
  success: function (grp) {
    if (grp != null) {
      clear();
      group = grp;
      load(grp);
    } else{
        showError(
                    'Customer Group',
                    'Whoops, error getting customer group information. Please contact support@myorg.com and include your username and date/time of the error.'
                    );
            }
  },
  error: function (x,s,e) {
    showError(
      'Customer Group',
      'Whoops, error getting customer group information. Please contact support@myorg.com and include your username and date/time of the error.'
      );
  }
});

经过大量研究后,我无法弄清楚错误发生的原因。任何见解都表示赞赏。

EDITED: 使用完整版的jQu​​ery,我得到以下结果:

Uncaught SyntaxError: Unexpected token :
d.d.extend.globalEvaljquery-1.5.1.js:16
d.ajaxSetup.converters.text scriptjquery-1.5.1.js:16
bJjquery-1.5.1.js:16
wjquery-1.5.1.js:16
d.support.ajax.d.ajaxTransport.send.cjquery-1.5.1.js:16

和YES我使用的是jquery.validate。

2 个答案:

答案 0 :(得分:8)

这是jQuery validation plugin中的错误。两天前我遇到了同样的问题。正如它在jQuery验证插件网站上所说,版本1.7 与jQuery 1.5.x不兼容。

您需要从Jörn的github页面安装newer version of validate

答案 1 :(得分:4)

请参阅http://bugs.jquery.com/ticket/8302

并在代码中尝试dataType: 'text json'