Я отправляю запрос AJAX на мой контроллер. Однако вызов продолжается, но значение, переданное как параметр, равно нулю.ajax POST вызов контроллера дает нулевое значение весной
AJAX Jquery CALL:
var inValueURL = "/list/invalue";
var filter_data = {
supplierid: 1
};
$filterSupplierName.on('change',function(){
console.log("before ajax request");
$.ajax({
url: inValueUrl,
type: 'POST',
data:JSON.stringify(filter_data),
contentType: "application/json",
success: function (response) {
$("table").html(response);
},
error: function() {
//your error code
}
});
});
Контроллер: класс
@RequestMapping(value = "invalue", method = RequestMethod.POST,headers = "Accept=application/json")
@ResponseBody
public String redire(@RequestBody Value<Integer> supplierid){
System.out.println(supplierid.getValue()); // this is null
return "success1";
}
Значение:
public class Value<T> {
public Value() {}
public Value(T t) {
this.value = t;
}
private T value;
public T getValue() {
return value;
}
public void setValue(T value) {
this.value = value;
}
}
Почему SupplierID останется нулевой. Заранее спасибо.
Как выглядит ваш класс 'Value'? Является ли 'поставщикId' атрибутом' Value'? Если это так, вам, вероятно, не нужно «строгать» данные запроса. – woemler
, измененный для включения класса значений. Идентификатор поставщика не является атрибутом класса. – Imprfectluck
Есть ли причина, по которой вам нужно использовать 'Value' в качестве аргумента метода контроллера, а не просто использовать' Integer' или 'String'? – woemler