0 0

前台没有接收到服务器的响应内容(json对象),是因为json格式效验错误么?0

1.
.js代码片段,

$("#div_progress").html("<img src='/images/icon_loading.gif' border='0'/> Processing, please wait...");

	var param=$(form).serialize();
	$.post("updateExtra.jsp",param,function(json){ 
		if(json.success){ 
			window.location='preview.jsp'; //json没有值,所以这行代码没有被执行!
		}else{
			alert(json.errMsg);
		}
	},"json");

	return false;



2.提交页面之后,后台代码已经正确生成了json字符串,如下:
{
    "success": true,
    "data": {
        "accountId": 4,
        "address": "123",
        "allPriced": "Y",
        "amount": 47.530,
        "arrangeShipment": "N",
        "cartId": 33,
        "cartType": "C",
        "city": "CMichael943608716",
        "continent": "N",
        "currency": "USD",
        "custId": 36,
        "expectedDeliDate": "29 Sep, 2014",
        "linkman": "Michael943608716",
        "notes": "Not enough stock for below:\r\nP0203-C: XXL\r\nP0202-R: XS, XXL",
        "otherShipMethod": null,
        "payMethod": "TT",
        "phone": "515323886918",
        "province": "PMichael943608716",
        "qty": 3,
        "region": "CA",
        "remarks": "Subtotal($):	47.53\r\nShipping($):	\r\nTotal($):	47.53",
        "shipMethod": "DHL,EMS"
    }
}




3.但是,后台生成的json字符串并没有被前台接收到,也就是说,.js代码里的json是没有值的;


不知道是不是json对象的格式有问题,因为在这个网站(http://www.bejson.com/)验证json格式时会出现验证错误,如下:












注:
1.如果json对象的remarks这个键的值没有验证错误的话(即在那个网站没有出现效验错误的时候,比如,remarks的是"hello 12345~~~~",或者其他的值,一般都不会出现效验错误——会出现效验错误的情况是少数情况),那么页面可以正常提交


2.如果是IE浏览器、safari浏览器,无论json对象效验是否出现错误,测试发现均可以正常提交页面——但是chrome、firefox,只有在json对象效验正确才可以提交页面,否则就不能提交页面!
 
2014年9月23日 20:00
  • 大小: 30 KB

2个答案 按时间排序 按投票排序

0 0

replace("\r\n", "\\r\\n")

2014年9月24日 11:28
0 0

"remarks": "Subtotal($):    47.53\r\nShipping($):   \r\nTotal($):   47.53"

你的这个键值对里,后面的值包含tab键,必须得转义才行

2014年9月23日 23:43

相关推荐

Global site tag (gtag.js) - Google Analytics