不知道这个有没有遇到过。 我查询一个 对象的数据 , 属性名称:customerName的值是:“来访投资者”
但是在ajax的success方法的result , alert(result) 里面的customerName的值变成了“4”
不知道是在哪将这个属性值给改变了。$.ajax({
url:url,
type:'POST',
data:{
},
dataType:'text',
error:function(){
alert("校验投资者信息失败");
return ;
},
success:function(result)
{
alert(result);
}
);这是页面的js方法里的ajax请求方法后台代码段:
PrintWriter out = response.getWriter() ;
String customerId = General.convertNullToEmpty(getParameterValue("customerId")) ;
String sql = "SELECT * FROM CSRC_INFO_CUSTOMER WHERE CUSTOMER_ID='"+customerId+"' " ;
Customer custObj = (Customer)dc.retrieveObj(sql, Customer.class) ;
String jsonObj = JSONObject.fromObject(custObj).toString() ;
//打印输出 Customer 对象的json格式
System.out.println("jsonObj ==> "+jsonObj); //这句打印的值是对的
out.write(jsonObj) ;
return null;后台打印输出的对象数据:是对的。
"customerId":"81348","customerName":"来访投资者","email":""
ajax数据
out.close() ;
out.close();
一般都加。success:function(result)
{
alert(result);
}
你这样获取的是Object对象,要遍历去取。
PrintWriter out = response.getWriter() ;
这个来返回值的,但是这里如果没有设置返回值的编码,
就是没有添加 response.setContentType("text/html;charset=UTF-8"); 这一句
在ajax请求获取到返回值,如果是中文会变成乱码。 刚好 “来访投资者”四个字,乱码就成了4了
其他汉字,会很明显是乱码,比如 显示“口口。。”,所以一开始没有想到是乱码。感谢你们的回答。分数给你们