解决方法:
ajax传输数据时进行encodeURI编码就可以了
例如:
在其他浏览器中没有进行 encodeURI 直接传输,无问题。
然而,在IE10 和11中进行下面这段代码编辑后,再展示出来就是乱码,找原因找了小半天,从前端后台的字符编码一顿检查后均没发现任何的问题。。
最后在大牛同事的帮助下,找到原因,并解决。
var param = "/api/v1/doctors?" + 'ParamUpdate={"Name":"' + n_name + '","Sex":' + sex + ',"EMail":"' + e_email + '","Phone":"' + p_phone + '","DepartmentsId":' + k_office + ',"Professional":' + d_doctor + ',"Introduction":"' + z_major + '"}&LField=[{"Not":false,"Value":' + $("#hidDocID").val() + ',"Operator":0,"PropertyName":"Id"}]'; // 这里是重点 var encodeParam = encodeURI(param); $.ajax({ type: "PATCH", url: getDomain() + encodeParam, //接口及条件一起编码 async: false, dataType: "json", success: function (data) { if (parseInt(data.Obj) == 1) { $("#dUpdDocInfo").html("修改成功!"); LoadBaseInfo(); } else { $("#dUpdDocInfo").html("保存失败!"); } } })