【发布时间】:2014-05-05 02:12:06
【问题描述】:
我正在尝试使用 angular 中的 post 将变量传递给 java spring。 java post函数执行了,但是所有参数都为null。
var CreditCard = $resource("http://:host::port/" + context + "/agent/creditCard",
{host: "localhost", port: 8080 },
{getTestPost2: {method:'POST', params:{charge:true, jsonPost:"1234"}}
});
var newCard = new CreditCard({number:'0123'});
newCard.name = "Mike Smith";
newCard.$save();
我检查了我的网络状态显示 200 OK。
Request Payloadview source
{number:0123, name:Mike Smith}
name: "Mike Smith"
number: "0123"
Java
@RequestMapping(
value="/agent/creditCard",
method = RequestMethod.POST,
produces = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody void getTestPost2(
@PathVariable String clientId,
@RequestParam(value="jsonPost", required=false) String jsonPost,
@RequestParam(value="charge", required=false) boolean charge,
@RequestParam(value="name", required=false) String name,
@RequestParam(value="number", required=false) String number
){
logger.debug("jsonPost " + jsonPost);
logger.debug("name " + name);
logger.debug("charge " + charge);
logger.debug("number " + number);
}
输出:
jsonPost null
name null
charge false
number null
【问题讨论】:
-
虽然我不熟悉 Angular,但我敢打赌,您的保存方法不会发布表单数据,而是其他内容(可能是 JSON),而 Spring Controller 显然已设置为接受表单参数
标签: java spring angularjs long-polling