【问题标题】:"Uncaught SyntaxError: Unexpected token : " in jQuery AjaxjQuery Ajax 中的“Uncaught SyntaxError: Unexpected token:”
【发布时间】:2015-01-29 11:56:18
【问题描述】:

我用 Java 构建了一个 REST Web 服务,它以“application/json”格式发送数据。它在不同域的单独 Linux 机器上运行,我正在尝试使用 jQuery $.ajax 从我的 Windows 机器访问 REST 数据。

当我在浏览器中输入 URL 时,它会按预期提示我输入用户名密码。在提供正确的 est 值时,我可以看到 JSON 输出。

但是当我尝试通过 jQuery Ajax 函数这样做时,我不断收到以下错误:

Uncaught SyntaxError: Unexpected token :

我的服务器 URL 如下所示:

http://my.server.com:port/application/rest/1.0/Books

如果我在浏览器中输入,我会在白色背景中得到以下文本输出:

{ items: [{ BookId : 134675, LastReadDate: "2014-11-25 00:00:00.0", Source: null },{ BookId : 134676, . . . ]}

它有更多数据,但这与手头的问题无关。请放心,contentType 是application/json,这是我正在编写的 AJAX 函数:

$(document).ready(function() { $.ajax({ url: "http://my.server.com:port/application/rest/1.0/Books",
type: "Get", crossDomain: true, success : function(data) { console.log(data); }, error: function(jqXHR, textStatus, errorThrown){ alert(textStatus + " " + errorThrown); }, dataType: "jsonp", contentType: "application/json", jsonp: false, jsonpCallback: "myMethod", username: "user1", password: "1234" }); });

在jQuery AJAX之外,myMethod被定义为:

window.myMethod = function(data) { return data; }

jQuery AJAX 中的错误方法告诉我 jsonpCallback 没有被调用。

我在 stackoverflow 上发现了类似的错误,但没有任何建议让它消失。

我使用 Chrome Inspector 工具 - 在那里,请求正在按预期加载 JSON 数据,但在第一行,items 数组开始的地方,冒号可能不被接受。正如我从这里的其他线程中了解到的那样,它期待回调的开始。但无论我做什么,我都无法收到callback({JSON}) 格式。

请帮忙。是的,我可以访问服务器,并在 Chrome 和 Mozilla 中使用 REST 客户端扩展测试了其余数据。正在返回正确的 JSON 对象数组。

【问题讨论】:

  • 尝试使用它来确保您拥有正确的 JSON:jsonformatter.curiousconcept.com
  • @rodrigogq,我通过从服务器复制粘贴 JSON 对象来检查。它说有效。
  • Jsonp 不是 json,你要求的是 jsonp 但返回的是普通的 json
  • 您是否尝试过将window.myMethod = function(data) {} 更改为显式声明function myMethod(data) { }
  • 是的,但无济于事。

标签: jquery ajax json rest jsonp


【解决方案1】:

我建议你首先使用Notepad2 之类的编辑器来尝试在源代码中显示奇怪的字符。

如果您使用从类似 jsfiddle 的网站复制和粘贴代码,它们是未知(且未显示)字符的来源,会困扰编码人员。 看看这个帖子:Chrome Uncaught Syntax Error: Unexpected Token ILLEGAL

如果这没有给出解决方案,希望它可以尝试帮助您调试它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-12
    • 2016-10-30
    • 1970-01-01
    • 2011-04-02
    • 1970-01-01
    • 2016-08-12
    • 1970-01-01
    • 2016-04-06
    相关资源
    最近更新 更多