前后台数据交互(持续更新)

前后台交互

场景前台所传json格式数据为:

$scope.pojo = {name:'huangSir',hobbies:[{id:1,hName:'swim'},{id:2,hName:'ball'}]};
利用 $http.post("../user/testPojo.do",$scope.pojo)发送到后端
也可以利用$http.post("../user/testPojo.do",JSON.stringify($scope.pojo))发送
后台可以用
private String name;
private String hobbies
这样的pojo接受

也可以用
private String name;
private List<Hobby> hobbies(Hobby.class:private int id;private String hName)接受

在用jackson进行数据封装时,需要在springMVC.xml配置文件中声明(否则会有415错误):

    <mvc:annotation-driven>
        <mvc:message-converters register-defaults="true">
            <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
                <property name="supportedMediaTypes" value="application/json"/>
                <property name="features">
                    <array>
                        <value>WriteMapNullValue</value>
                        <value>WriteDateUseDateFormat</value>
                    </array>
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

在利用ajax传输json对象时,传输的是字符串(直接写json对象会出现415错误)

dataType: "json", 
traditional:true,
data:{
         sentDatas:JSON.stringify(sentDatas)
         },

前台由编号显示具体文本(比如分类信息)

//TODO:懒得打字 以后补
重要一点是json对象 obj[1]这种也是可以的//不知道[obj]可不可以 以后再说

item数据 编号对应文本list 分类信息.png

代码:

 $scope.cObj = {};
    $scope.findContentCategoryList = function () {
        contentCategoryService.findAll().success(function (data) {
            for (var i = 0; i < data.length; i++) {
                $scope.cObj[data[i].id] = data[i].name;
            }
            $scope.contentCategoryList = data;
        })
    };
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。