开发者社区> 问答> 正文

springmvc ajax String类型时,报parsererror? 400 报错

springmvc ajax String类型时,报parsererror? 400 报错

后台代码

@Controller
@RequestMapping("/hello")
public class HelloController {

	@RequestMapping("/say.do")
	public @ResponseBody String say(String name) {
		System.out.println(name + " saying .......");
		
		return name + "say!";
		
	}
}
  var data = null;
  $.ajax({
   url : $.contextPath + "/hello/say.do?name=haha",
   type: "get",
   dataType : "json",
   async : false,
   success : function(rlt) {
   debugger;
    data = rlt;
   },
   error : function (req, error, errThrow) {
    debugger;
    $.error("function load json error: " + error);
   }
  });

如果后台方法say return Map对象的话,前台ajax请求就正常了,请各位高手们帮我分析分析哪出问题了,谢谢!


展开
收起
爱吃鱼的程序员 2020-06-01 10:33:12 596 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
    $.ajax({
       url : $.contextPath +"/hello/say.do?name=haha",
       type:"get",
       dataType :"json",
       async :false,
       success : function(rlt) {
       debugger;
        data = rlt;

       },

    这个意思是返回结果转换为json,所以,服务端返回的结果要是json对象,懂了吧,单独字符串肯定不是json,所以报错,要返回文本,这个值设置为text/plain就可以了

    ######回复 @begoodluck : 我意思是要看到的返回数据是json格式######回复 @抓瓦工人 : 是的,从浏览器network中是正常返回了,只是jquery解析出错了######回复 @begoodluck : 与后台没关系,你从network面板看看返回值是啥,主要是jquery ,ajax本身会根据data类型自动解析结果######但我在struts2中后台返回String在前台也能正常接收到String的值
    2020-06-01 10:33:14
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多