【问题标题】:Chrome : "Uncaught SyntaxError: Unexpected token : "Chrome:“未捕获的语法错误:意外的令牌:”
【发布时间】:2012-09-07 23:48:12
【问题描述】:

在 Chrome 上运行我收到以下错误消息:

Uncaught SyntaxError: Unexpected token

这是我的代码中负责请求的部分:

function wetter() {

  $.ajax({
    'Accept': 'application/json',
    type: 'GET',
    url: '[here comes the url',
    dataType: 'jsonp',
    success: function (data) {
      //content
    }
  });
};

【问题讨论】:

  • success 函数块内是否还有其他可能导致问题的代码
  • 可能不喜欢你的'Accept'。它告诉你错误在哪一行?
  • chrome 告诉我错误在 json 中

标签: javascript json jsonp


【解决方案1】:

您正在尝试向发送 json 的脚本发出 jsonp 请求,类似于this。您不能只在 json 之后放一个 p 并期望它能够工作。

【讨论】:

  • @DariaDuda 这应该会发生,请阅读Same Origin PolicyCross-Origin Resource Sharing
  • @DariaDuda 唯一可行的方法是如果您使用不强制执行同源策略的浏览器或使用服务器端代理
  • 但是我的项目要求是使用webkit浏览器,所以chrome或者safari :(
【解决方案2】:

它接收的数据类型可能不是它所期望的。您可能会返回一个 JSON 对象,而预期结果是带有填充的 JSON (JSONP)。您可以尝试返回 JSONP 类型的数据,也可以将上面代码中的数据类型更改为 JSON。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-09
  • 2011-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多