不知道这个有没有遇到过。 我查询一个 对象的数据 , 属性名称: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数据

解决方案 »

  1.   

    out.write(jsonObj) ;后面加上
    out.close() ;
      

  2.   

    out.flush();
    out.close();
    一般都加。success:function(result)
    {
    alert(result);
            }
    你这样获取的是Object对象,要遍历去取。
      

  3.   

    dataType:'text', 是不是得改成json 的
      

  4.   

    该问题,终于找到问题所在了,是自己写java后台代码的时候,是需要用
    PrintWriter out = response.getWriter() ;
    这个来返回值的,但是这里如果没有设置返回值的编码,
    就是没有添加 response.setContentType("text/html;charset=UTF-8"); 这一句
    在ajax请求获取到返回值,如果是中文会变成乱码。 刚好 “来访投资者”四个字,乱码就成了4了
    其他汉字,会很明显是乱码,比如 显示“口口。。”,所以一开始没有想到是乱码。感谢你们的回答。分数给你们