在JS:
ajax.get('api/checkout_patron/patron_id='+self.patronId())
在java中:
@RequestMapping(method= RequestMethod.GET,value = "/patron_id={patron_id}")
public @ResponseBody
Response getPatron(@PathVariable String patron_id){
}
這裏JS請求我已經使用映射:在類聲明之前
@Controller
@RequestMapping(value = "/api/checkout_patron")
。
這裏我使用的是knockout js
,所以我使用這種模式來傳遞請求。
二小例子跟我的技術:
var form={
sourceName : self.sourceName(),
sourceEmail :self.email()
}
ajax.post('api/source',JSON.stringify(form)).done(function(response){
});
在這裏得到的數據:
@RequestMapping(method= RequestMethod.POST,consumes = "application/json")
public @ResponseBody
ResponseEntity<IWebApiResponse> addBudget(@RequestBody AddBudgetSourceForm form){
//your code to process data
}
AddBudgetSourceForm類:
public class AddBudgetSourceForm {
private String sourceName;
private String sourceEmail;
// getter and setter
}
保持一件事記住,形式的名稱並在js form
da ta-bind應該是相同的(即已被串化的js形式的參數左側)。
UPDATE:
你可以這樣做以下:
List<String> var = new ArrayList<>(); var.add(form.getSourcename()); var.add(form.getSourceEmail());
,是的,你可以在JSON這樣的發送數據。
如果您要爲每件東西發送單個數據,請不要使用List
。 而不是使用List<classname>
並在class
和getter-setter
中定義所有必需的變量。
感謝您的回覆!所以這意味着我應該在json中包裝數據?例如:{one:something,two:????}其實我不知道json中的列表。能否請你幫忙?謝謝 –
Viktor
@Viktor - 我已經更新了答案,如果有任何問題,然後張貼。 –
非常好,非常感謝! – Viktor