我想在单击单选按钮时调用带有Ajax的SpringMVC控制器



例如,如果我选择单选按钮 1 并按提交按钮,我想呼叫控制器 1,选择单选按钮 2,然后按按钮 2 呼叫控制器 2。

以下是我尝试过的方法。首先有两个控制器。

@RequestMapping(value="/ynto10", method=RequestMethod.POST)
public String ynto10(HttpServletRequest req, HttpServletResponse res) {
String[] columns = req.getParameterValues("chkValue");
System.out.println(columns.length);
analyticsService.ynTo10(columns);
return "redirect:/analytics/info/1";
}

@RequestMapping(value="/nulltoN", method=RequestMethod.POST)
public String nulltoN(HttpServletRequest req) {
String[] columns = req.getParameterValues("chkColnames");
analyticsService.nullToN(columns);
return "redirect:/analytics/info/1";
}

这是尝试根据单选按钮选择使用 ajax 调用控制器。

$('#convert').click(function() {
var chkVal = [];
$('input[name=chkColnames]:checked').each(function() {
chkVal = $(this).val();
});
if($('#ynTo10:selected')) {
$.ajax({
type: 'POST',
url: 'http://localhost:8080/destiny/ynto10',
data: {
chkValue : chkVal
},
dataType: 'json',
success: alert('변환 OK'),

})
}else if($('#nullToN:selected')) {
$.ajax({
type: 'POST',
url: 'http://localhost:8080/destiny/nulltoN',
data: {
chkValue : chkVal
},
dataType: 'json',
success: alert('변환 OK'),
})
}

我想为名为 chkVal 的变量添加一个复选框。如果您能给我这部分,我将不胜感激。有好的一天。

您需要将数据推送到数组以获取所有选定的值

$('input[name=chkColnames]:checked').each(function() {
chkVal.push($(this).val());
});

其次,您无法直接从 AJAXED 页面重定向,

在 AJAX 调用的成功函数中使用 JS 重定向

success: function(data) {
window.location = "/analytics/info/1";
}

或者最好放弃 Ajax 并使用简单的 get 请求

最新更新