2012-08-06 119 views
0

此代码不断抛出一个“意外的标记”的错误,但我无法弄清楚什么是错的任何线索将是巨大的这个jQuery语法有什么问题?

function addComment() { 
    $.ajax({ 
     url:'/add/comment/id', 
     type:'POST', 
     data.JSON.stringify({'Text':$('#comment_text').val()}), 
     contentType:'application/json; charset=utf8', 
     processData:false, 
     success:function(data){ 
      $('#comments').prepend(data.comment.Text); 
     } 
    }); 
} 
+0

数据:JSON.stringify({ '文本':$( '#COMMENT_TEXT')VAL()}), – 2012-08-06 01:50:05

+0

哦,这是令人尴尬的。谢谢。 – MFB 2012-08-06 01:51:12

回答

3
data: JSON.stringify({'Text':$('#comment_text').val()}), 
2
data.JSON.stringify({'Text':$('#comment_text').val()}) 

应该是:。

data: JSON.stringify({'Text':$('#comment_text').val()}) 
+0

嗯也许它确实..我会检查出来..谢谢。 – MFB 2012-08-06 01:52:31

+2

@MFB数据可以是一个对象或字符串。 http://api.jquery.com/jQuery.ajax/最好让jQuery做JSON,因为不是所有的浏览器都有原生的'JSON.stringify'支持 – 2012-08-06 01:54:41

+0

谢谢Cameron,很棒的提示 – MFB 2012-08-06 02:09:57

5

问题是在这条线:

data.JSON.stringify({'Text':$('#comment_text').val()}), 

的意外的标记是周期(在data之后。

不是句点(.),你data后需要一个冒号(:),像这样:

data: JSON.stringify({'Text':$('#comment_text').val()}), 

注意你不需要JSON.stringify这里。正如@pst指出的那样,jQuery无论如何都会为你做到这一点。

data: { 
    'Text': $('#comment_text').val() 
},