当前位置: 代码迷 >> Java Web开发 >> ajax请求返回json数据的有关问题
  详细解决方案

ajax请求返回json数据的有关问题

热度:8401   发布时间:2016-04-10 23:55:01.0
ajax请求返回json数据的问题
这个是界面。

<script type="text/javascript">
$(function(){
$("#country").change(function(){
var country = $(this).val();
$.ajax({
url:"/demo",
type:"POST",
dataType:'json',
data:{"country":country},
success:function(data){
alert("data长度: "+$(data).size());
                    //alert(data);
//$("#city").append("<option>"+"沈阳"+"</option>");
},
error:function(){
alert("数据传输失败!");
}
});
});
});
</script>

这个是后台程序。

String country = request.getParameter("country");
response.setContentType("text;charset=UTF-8");
PrintWriter out = response.getWriter();
JSONObject data = new JSONObject();
data.put("0", "沈阳");
data.put("1", "天津");
data.put("2", "深圳");
data.put("3", "大连");
// String data2 = data.toString();
// JSONObject data = JSONObject.fromObject(data2);
out.print(data);
System.out.println(data.get("0")+" 长度111: "+data.size());
System.out.println("000 "+data);
out.flush();
out.close();


现在界面alert(data);返回的是[object Object],长度为1.
但是程序的后台返回的数据都正确,长度也为4.
求帮助界面怎么能返回和后台相同的数据.不知道哪里错了.
java javaweb ajax

------解决方案--------------------
eval("(" + data + ")");这个方法要根据你的字符串是什么格式的,如果你字符串已经是这种格式:[{id:1,name:mx},{id:1,name:mx},{id:1,name:mx}]  这么写就可以eval( data )。
  相关解决方案