jQuery 报错:未捕获的语法错误:意外的标记符“:”

5

我的帖子看起来像这样:

$.post('/ajaxvalidate/1', {"nid": nid}, function(data) {

我在谷歌浏览器中遇到了Uncaught SyntaxError: Unexpected token :错误。

从这个问题中我理解到我需要设置一个内容类型或者其他什么东西:

Uncaught SyntaxError: Unexpected token :

但是我不知道怎么做。

http://api.jquery.com/jQuery.post/没有提供任何示例。:( 谢谢。


你是否缺少了成功函数回调的实现?我猜测当你粘贴代码时它被截断了。 - David Hoerster
我也遇到了类似的问题。可以有人帮我解决这个票 http://stackoverflow.com/questions/14420920/cross-domain-request-returning-uncaught-syntaxerror-unexpected-token-error。 - user1993920
2个回答

8
你提供的链接中有许多jQuery.post API的实例,它们在页面的1/3处左右。页面最后一个示例演示了如何在该方法中传递“json”内容类型。
以下是使用jQuery post的示例代码,这段代码可以在jsFiddle上正常运行:
$(function() {
    $.post("/ajax_json_echo/", {html: "stuff"}, function(data) { alert(data.post_response.html);}, "json");
});

我正在使用“json”作为我的数据类型将数据传递给服务。您确定没有发生服务器端错误吗?请尝试通过Fiddler或Firebug运行您的调用并查看返回结果。此外,您的服务期望什么类型的数据?请在您的帖子中更新您所看到的内容,我会相应地更新我的答案。希望这可以帮到您。

其实我原本在做 JSON 的时候,它并没有起作用。但是当我改为使用 HTML 时错误就消失了。这很有道理,因为数据不是 JSON 格式的,所以我必须使用 parseJSON 将其转换成 JavaScript 对象。但问题在于,我原以为服务器返回的是 JSON 格式的…… return drupal_json($result); 这是服务器端的返回代码。我的意思是谢谢你,它给了我在哪里放置数据类型的答案,虽然我还有点困惑,但还是谢谢。 - JSNewbie

2

当我忘记使用);(不只是})正常关闭$(document).ready(function(){时,我遇到了同样的错误。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接