我试图使用普通的javascript向Spring控制器进行AJAX调用。 调用失败,其中包含"必需字符串参数' allowedRoles'不存在"
控制器:
@RequestMapping(path = "/updateRoles", method = RequestMethod.POST)
public String updateRoles(@RequestParam("allowedRoles") String allowedRoles,
final Map<String, Object> model) {
return "services";
}
和AJAX电话:
var xhttp;
if (window.XMLHttpRequest) {
// code for modern browsers
xhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("POST", "/services/updateRoles", true);
xhttp.setRequestHeader("Content-type", "application/json");
xhttp.send({"allowedRoles":allowedRoles});
我也试过
xhttp.send("allowedRoles=" + allowedRoles);
但结果是一样的
答案 0 :(得分:0)
尝试使用JSON:
//Create JSON data
var jsonData = {allowedRoles: 'string allowed'};
var formattedJsonData = JSON.stringify(jsonData);
//Send it
xhttp.send(formattedJsonData);
如果需要,可以检查数据以确保jsonData正确,即:
console.log(jsonData);
console.log(JSON.parse(formattedJsonData));