JavaScript AJAX 语法错误 : Unexpected token E in JSON at position 0

标签 javascript jquery json ajax

我正在使用 AJAX 向我的 node.js 服务器发出 HTTP 请求。但是,我的 AJAX 请求不断返回错误 SyntaxError: Unexpected token E in JSON at position 0 (服务器端没有返回错误)。

在浏览其他 SO 问题时,我发现解决方案是在我的数据对象上使用 JSON.stringify() ..但我仍然遇到相同的错误:

var postData = { 
  company_id: 'cid',
  credentials: 
   { first_name: 'van',
     last_name: 'jones',
     phone_number: '1035191043',
     email: 'van.jones@gmail.com'},
  company: 
   { company_name: 'cnn',
     company_email: 'info@cnn.com',
     company_phone_number: '2800231374',
     company_notes: '' },
  shipping_address: 
   { addr_1: 'addr1',
     addr_2: 'addr2',
     city: 'city',
     state: 'state',
     zip: 'zip' },
  billing_address: 
   { addr_1: 'addr1',
     addr_2: 'addr2',
     city: 'city',
     state: 'state',
     zip: 'zip' },
  some_bool: true,
  another_bool: true,
  hostname: 'localhost' 
}

$.ajax({
  type: "POST",
  url: 'some_url',
  data: JSON.stringify(postData),
  contentType: "application/json; charset=utf-8",
  dataType: "json",
  success: function(data, status) {
    console.log('success')
  },
  error: function(a, b, c) {
    console.log(a);
    console.log(b);
    console.log(c);
    // returns SyntaxError: Unexpected token E in JSON at position 0
  }
});

有人知道我可能会错过什么吗?

谢谢。

最佳答案

根据我的经验,此类信息总是会在服务器端带来一些麻烦(我知道你说没有,但仍然..),例如SQL 查询错误。尝试将类似的代码合并到您的错误处理函数中。它可能会帮助您解决问题。

error: function(xhr) {
  try {
    var response = JSON.parse(xhr.responseText);
    console.log('Success');
    console.log(response);
  }
  catch (e) {
    var response = xhr.responseText;
    console.log(
      'There was an error: \n -> '
      + e + '\n'
      + 'Complete server response: \n -->'
      + response
    );
  }
}

关于JavaScript AJAX 语法错误 : Unexpected token E in JSON at position 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41317778/

相关文章:

javascript - 根据路线类型解析 Google Maps Geocoder JSON 结果

json - 无法在 ListView 中加载变量

javascript - 如何防止页面逐渐显示?

javascript - Ajax 未提交给 PHP

php - jQuery - 通过 PHP 保存到 SQL

jquery - 如何在从数据库中选取值的 jsp 页面中使用 css 和脚本创建菜单、子菜单、子子菜单?

jquery - 通过 AJAX 回调修改 DOM 时 Bootstrap Modal 消失

java - 基于 Jackson 字段的序列化

javascript - 使用异或变量计算

javascript - 将 Google 趋势可视化查询转化为 Google GEOchart