您的位置:首页 > 其它

今天犯了一错误,贴下给需要的兄弟们!

2013-03-15 17:46 127 查看
因为项目需要AJAX去调用WCF,但由于需要传递的值非常多,我就想做成JSON形式进行传递。

代码如下:

var datas = [];
var option = new Array();

option["FCustomerCode"]="@{@Session["FCustomerCode"].ToString()}";

if ($("#StartFBillDate").val() != "") {
option["StartFBillDate"] = $("#StartFBillDate").val();
}
if ($("#EndFBillDate").val() != "") {
option["EndFBillDate"] = $("#EndFBillDate").val();

}
datas.push(option);


传递如下:

data:'{"data":"'+datas+'","r":"'+ Math.random() * 10+'"}' ,
contentType: "application/json;charset=utf-8",


发现怎么搞都无法传递给后台,我一直把datas 给当成了数组,一直想格式化为JSON。其实错了。上面的Datas已经是JSON了。
在群里朋友们的帮助下,终于解决了。感谢他们。

解决办法:

1. jquery.JSON.stringfy 利用插件

2.利用方法

function JsonToString(o) {
var arr = [];
var fmt = function(s) {
if (typeof s == 'object' && s != null) return JsonToStr(s);
return /^(string|number)$/.test(typeof s) ? "'" + s + "'" : s;
}
for (var i in o)
arr.push("'" + i + "':" + fmt(o[i]));
return '{' + arr.join(',') + '}';
}


3.利用服务器JavaScriptSerializer

关键字: Json to string
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐