angular.js - angularjs到底如何传参到springMVC
为情所困
为情所困 2017-05-15 17:01:04
0
2
579

话说angular的传参转变为json格式,而又需要springMVC有相关的实体类才能用@requestBody去接收。但是如果传的是一般的参数呢,比如一个数组,一个数字id?

当然,传一个数字id可以从请求参数路径传过去。但是,就是传一般的随机的参数,比如data={“xx”,xxx}

和明显,springMVC端是不能像接收jquery时候用@requestParam接收的。

网上看了一大片,说要改请求的header的contentType什么的,可是,设置了也没用.......怎么办?

$http({
url:"ts",
data={“xx”,xxx},
type:"POST"
})
........

spirngMVC端如何接收data={“xx”,xxx},

为情所困
为情所困

répondre à tous(2)
巴扎黑

Code frontal :

angular.module('app')
    .factory('Email', function ($resource) {
        return $resource('api/emails/:id', {}, {
            'query': { method: 'GET', isArray: true},
            'get': {method: 'GET'},
            'update': { method:'PUT' }
        });
    });

Réception en arrière-plan

@RequestMapping(value = "/emails",
            method = RequestMethod.POST,
            produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<EmailDTO> createEmail(@RequestBody EmailDTO emailDTO) {.....} 

          
Ty80

Le problème n'est pas la façon dont Angular transmet les paramètres au backend, cela dépend principalement de la façon dont vous l'implémentez dans le backend. Il suffit qu'angular fournisse une interface en arrière-plan. Angular peut directement $http ajuster l'interface d'arrière-plan pour transmettre les paramètres à l'arrière-plan.

$http.get("mainUrl"+parameter).then();

De cette façon, les paramètres peuvent être transmis au backend. Quant à savoir s'il faut obtenir ou publier ou autre chose, cela dépend principalement du backend.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal