ssm框架下如果通过ajax获得后台数据!!

创业公司写代码第二天,被ajax中success返回值中的data难到了,刚开始是不能执行success方法转而执行的error方法,后来可以执行success方法却取不到后台的数据,经过一天的百度与摸索,终于解决了该问题,特此记录,以防将来忘记。
First:Controller中要书写正确,总共5,6行代码,我却有2处错误

@RequestMapping("/edit")
@ResponseBody
public User edit(Integer uid) {
System.out.println(“lll:”+uid);
User user = userService.findUserByUid(uid);
return user;
}

看上面的代码,首先如果想反回json类型的数据,必须加上ResponseBody注解,其次,反回值即是我们想传到后台的数据的数据类型,刚开始我一直用的ModelAndView甚至String,所以一直并未成功。
second:前台ajax写法一般没有问题

function edit(uid) {
KaTeX parse error: Expected '}', got 'EOF' at end of input: … url: "{pageContext.request.contextPath}/edit?uid=" + uid,
type: “post”,
dataType:“json”,
success: function (data) {
console.log(data);
alert(1);
},
error:function () {
alert(“error”);
}
});
}
third!!:这个很重要,一定要导包!!
以下的包必须都复制到maven中,缺一个也运行不了json

	<dependency>   
        <groupId>commons-beanutils</groupId>
        <artifactId>commons-beanutils</artifactId>
        <version>1.7.0</version>
    </dependency>
    <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <version>3.1</version>
    </dependency>
    <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.5</version>
    </dependency>
    <dependency>
        <groupId>net.sf.ezmorph</groupId>
        <artifactId>ezmorph</artifactId>
        <version>1.0.3</version>
    </dependency>
    <dependency>
        <groupId>net.sf.json-lib</groupId>
        <artifactId>json-lib</artifactId>
        <version>2.4</version>
        <classifier>jdk15</classifier>
    </dependency>
    <dependency>
    <groupId>commons-logging</groupId>
    <artifactId>commons-logging</artifactId>
    <version>1.2</version>
    </dependency>

这样问题解决!

猜你喜欢

转载自blog.csdn.net/qq_31118837/article/details/85015836