我想将一个字符串数组以及一个字符串变量传递给 Controller ,但它说参数不存在。
这是我的 JavaScript
function updateIssueHandler() {
var keyArray = [];
bootstrap_alert_hide('#form_errors');// cleans previous errors
$('input:checkbox[name=key_checkbox]:checked').each(function() {
keyArray.push($(this).val())
});
if (keyArray.length == 0) {
var errorMsg = document
.getElementById("js.i18nMessage.emptyUpdateTickets.id").value;
bootstrap_alert('#form_errors', errorMsg)
}
var labels = document.getElementById('labelsTextBox').value;
var b = {
"lab" : labels,
"keys": keyArray
};
//console.log(addl);
console.log(keyArray);
$.ajax({
url : '/jirabatchapp/JqlUpdate/',
data : b,
type : 'POST',
success : function(data) {
window.alert("done");
},
error : function(e) {
alert(JSON.stringify(e));
}
});
}
Controller :
@Controller
public class UpdateLabelController {
@RequestMapping(value = "/JqlUpdate", method = RequestMethod.POST)
public String updateIssue(@RequestParam(value = "lab") String a,@RequestParam(value = "keys") String k ) {
System.out.println(a);
System.out.println(k);
System.out.println("finally!");
return "success";
}
}
我收到一条错误消息,指出 HTTP 请求错误 400 所需的字符串参数实验室不存在。
我做错了什么?如果我只通过实验,那么它就可以工作,但是如果我想传递两个参数,它就会抛出这个错误。
最佳答案
改变
var b = {
"lab" : labels
"keys": keyArray
};
到
var b = {
"lab" : labels,
"keys": keyArray
};
关于javascript - 将 $.ajax() 中的数组传递给 ajax 请求到 Controller Spring mvc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39849936/