这ajax 有问题吗?

javacc 发布于 2013/07/29 16:28
阅读 1K+
收藏 0
$.ajax({
	method:'post',
	url:'http://127.0.0.1:8080/test/user/login',
	data:{loginName:$("#loginName").val(),password:$("#password").val()},
	dataType:'json',
	success:function(data){
		var da = data;
		$.messager.alert('登陆提示',data.msg+"---"+data.success,'info');
	},
	error:function(data){
		var da = data;
		$.messager.alert('失败提示',data.msg+"---"+data.success,'info');
	}
});
如题 上面的方法有问题吗?为什么一直都是执行到error里面去呢?后台debug时action返回的确实是json字符串!!!!
后台返回的json字符串:{"success":false,"msg":"登陆名不存在或者密码错误!"}用的springMVC 
返回字符串的代码:
public static void returnJsonString(HttpServletResponse response,Object object){
     try {
         esponse.setContentType("application/json");
         String jsonStr = JSON.toJSONString(object);
         System.out.println(jsonStr);
         writer(response,jsonStr);
     } catch (JSONException e) {
         e.printStackTrace();
         logger.error("转换json格式字符串失败!"+e.getMessage());
     }
 }

writer 方法如下:
private static void writer(HttpServletResponse response,String str){
     try { 
         PrintWriter out= null;
         out = response.getWriter();
         out.print(str);
         out.flush();
         out.close();
     } catch (IOException e) {
         e.printStackTrace();
     }
 }

加载中
0
亭舸翁
亭舸翁
我猜你跨域了
0
leo108
leo108
console.log(data)看看是什么错误
0
skyim
skyim
把 dataType 改成 html,alert(data)看看到底是上面错误
0
VmLia
VmLia

data:{loginName:$("#loginName").val(),password:$("#password").val()}

隐约记得是酱紫的:

"name=zhangsan&id=222",

0
javacc
javacc

啥也看不到。

0
Arrowing
Arrowing

method:'post'

改为

type:'post'

0
javacc
javacc

引用来自“arrowing”的答案

method:'post'

改为

type:'post'

改了也没用

我发现这个了

0
javacc
javacc

引用来自“leo108”的答案

console.log(data)看看是什么错误
Arrowing
Arrowing
这样看是后台返回的数据问题
0
javacc
javacc
public static void returnJsonString(HttpServletResponse response,Object object){
	try {
		response.setContentType("application/json");
		String jsonStr = JSON.toJSONString(object);
		System.out.println(jsonStr);
		writer(response,jsonStr);
	} catch (JSONException e) {
		e.printStackTrace();
		logger.error("转换json格式字符串失败!"+e.getMessage());
	}
}
这个是返回json字符串的方法。返回值打出来看也没看出有问题!!
0
leo108
leo108

引用来自“javacc”的答案

引用来自“leo108”的答案

console.log(data)看看是什么错误
看看network那栏,服务器的返回数据是什么
返回顶部
顶部