用JQUERY$.POST发送JSON数据可以用JSON做变量吗?

abc = {a:2,b:5,c:7};

$.post('XXXPHP',{Data:abc,Length:5}, function(data){});

请问可以这样把abc的传送给XXXPHP用POST['Data']['a'],POST['Data']['b'],POST['Data']['c']接收吗?

不可以,会把data看成是{a:2,b:5,c:7};字符串了!你可以再后台分析一下追问

请问我怎样把JSON代入到Data中?让它实现我上面描述的结果?不传递字符串后台分析,这样觉得很麻烦。
我有一个函数function posta(jsonData){$.post('XXXPHP',{Data:jsonData,Length:5}, function(data){});}
我想在外部调用posta({a:44,b:33,c:66})时,传入json变量给$.post。

追答

比如serializeArray()方法:
var fields = $("select").serializeArray();
jQuery.each( fields, function(i, field){
$("#results").append(field.value + " ");
});

Single
Single2

Results:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-14
可以的 你把格式换一下
$.ajax({
type:"post",
cache:false,
url:"'XXXPHP'",
data:{a:2,b:5,c:7};
success:function(data){
},
error:function(XMLHttpRequest, textStatus, errorThrown)
{
alert("服务器异常 请稍后再试");
}
});本回答被网友采纳
第2个回答  2012-08-14
推荐答案不对吧追问

推荐答案的代码没什么问题,只是文不对题,不是我想要的答案。