2013-01-10 51 views
3

试图回到这里的基础知识,并通过Ajax发送一个JSON对象到我的PHP。我甚至无法得到那部分,因为我得到一个JSON错误。这里是jQuery代码:传递JSON对象与jQuery的ajax

jQuery(".deletebutton").on("click", function() { 

     var employees = [ 
     { "firstName":"John" , "lastName":"Doe" }, 
     { "firstName":"Anna" , "lastName":"Smith" }, 
     { "firstName":"Peter" , "lastName": "Jones" } 
     ]; 

     var dataString = JSON.stringify(employees); 

     // Lets put our stringified json into a variable for posting 
     var postArray = {json:dataString}; 

     jQuery.ajax({ 
      type: 'POST', 
      url: 'index.php?option=com_recordings&task=deletevideos&format=raw', 
      data: postArray, 
      dataType: 'json', 
      success: function(data){ 
       if (data == "blah") 
        alert(data); 

      } 
     }); 
}); 

我得到这个错误(当我检查errorThrown):语法错误:JSON.parse:意外的字符。我检查了jsonlint.com它是有效的JSON。我究竟做错了什么?

回答

3

dataType请求头,而不是响应。如果你没有发回有效的JSON,jQuery不会喜欢它。你想发送JSON,但你可能想要回到别的东西。只要删除dataType,它应该可以正常工作,除非服务器脚本出现错误。

+0

辉煌,thx。 – Tom

1

你发布的东西是js对象而不是json。你必须发布字符串化的json。

data: dataString 
+0

我已经试过了,同样的问题。 – Tom

1

变化 数据:dataString

,并没有任何问题都会occure