偶尔会出现此问题
单击下页中的“添加标签”灰色按钮,输入标签名称并提交。
提交操作将刷新此页面并在页面中显示此标记,如下所示:
提交操作的JavaScript代码是:
function tagSubmit(){
var tagName = $("#tagName").val();
jQuery.ajax({
type: "POST",
url: "/m/tag/add",
data : {"taskId":taskId,"tagName":tagName},
dataType : "json",
success: function (msg) { //1/0
if (msg == 1){
location.reload();
}else {
alertWarning("添加失败");
}
}
});
}
Controller.java是:
@Controller
@RequestMapping("/m/tag")
public class TagController extends ControllerBase {
@Autowired
TagService tagService;
@RequestMapping(value = "/add",method = RequestMethod.POST)
@ResponseBody
public int add(@RequestParam(value = "taskId") long taskId ,@RequestParam("tagName")String tagName){
boolean flag = tagService.addTag(tagName.trim(),taskId) ;
return flag?1:0;
}
}
单击提交按钮后发生错误:
网址http://172.16.1.5:9082/m/rule/unScheduleRule?
必须包含参数“taskId”:
@RequestMapping(value = "unScheduleRule", method = RequestMethod.GET)
public ModelAndView unScheduleRule(@RequestParam(value = "taskId") long taskId, ModelMap modelMap) {
Task task = taskService.getById(taskId);
ModelAndView view = null;
我该如何解决?
将参数required = false
添加到下面的代码中?
public ModelAndView unScheduleRule(@RequestParam(value = "taskId",required=false) long taskId, ModelMap modelMap)
但是如果没有提供taskId,这个页面将无法正常工作!!!
偶尔会发生 ,这让我很困惑
答案 0 :(得分:1)
您需要添加event.preventDefault()
才能停止提交表单,您可以通过AJAX提交表单。
如果调用此方法,则不会触发事件的默认操作。
function tagSubmit(e) {
e.preventDefault();