- ajax接口调用的如下:
mui.ajax('http://192.188.140.92:8080/sfview/login.action', { data:d, dataType:'json', type:'post', timeout:10000, success: function(data){ }, error:function(xhr, type, errorThrown){ });
2. login.action的服务处理回调采用如下@responseBody指定要求返回值为json数据时,会引起上面调用失败:
@ResponseBody
@RequestMapping(value="login.action", method=RequestMethod.POST)
public Msg<user> Login(String username, String password, HttpServletResponse response)
{
Msg<User> msg = new Msg<User>();
return msg;
}
注意:在这样的模式下,使用web模式的http请求服务端的jsp页面,同样采用ajax请求login服务,结果正常。
3. 如服务端该为如下方式则ajax调用成功:
@RequestMapping(value="login.action", method=RequestMethod.POST)
public void Login(String username, String password, HttpServletResponse response)
{
Msg<User> msg = new Msg<User>();
PrintWriter out = null;
try {
out = response.getWriter();
} catch (IOException e) {
e.printStackTrace();
}
JSONObject json = JSONObject.fromObject(msg);
out.println(json);
}
1 个回复
y***@foxmail.com
针对你第一种的方式 追加produces="application/json;charset=UTF-8"就可以啦~