拼写json字符串的时候,如果参数值含有单引号,首先要把单引号转换为两个单引号,其次不要把参数值放到”中间,而是把参数值放到\”\”中间,这样就能解决由于参数含有单引号而无法传递到后台的问题了。
var driverName = $("#txtDriverName").val().replace("'", "''");
var phone = $("#txtPhone").val().replace("'", "''");
var carNo = $("#txtCarNo").val().replace("'", "''");
$.ajax({
type: "Post",
url: "DriverLocationMap.aspx/GetDataBind",
async: false,
contentType: "application/json; charset=utf-8",
dataType: "json",
data: "{routeId:'"+ routeId + "',currentCity:'" + currentCity + "',driverName:\"" + driverName + "\",phone:\"" + phone + "\",carNo:\"" + carNo + "\"}",
success: function(data) {
jsonStr=JSON.parse(data.d);
}
});
json字符串简化过程如下:
1、最标准的json字符串
data: "{ \"userId\": \"2016007\", \"userName\": \"零零七\", \"gender\": \"男\" }"
2、把\”换成’
data: "{ 'userId': '2016007', 'userName': '零零七', 'gender': '男' }"
3、去掉key两端的’
data: "{ userId: '2016007', userName: '零零七', gender: '男' }"
4、去掉value两端的’,如果value的类型是int、float或bool类型那不加单引号也可以,如果value是字符串类型那必须加单引号
data:"{userId:2016007,userName:'零零七',gender:'男'}"