当我尝试从另一个加载了ajax的表单中调用一个ajax请求时,页面转到第一次调用。
首先,我将ajax表单触发到类似页面上; 使用此js函数;
showForm: function (lockMode) {
var id = '';
var dataString = {
'id': id,
'lockMode': lockMode
};
$.ajax({
type: 'post',
url: App.ctx + '/unitDimension/form',
data: dataString,
contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
dataType: 'html',
cache: false,
success: function (response) {
$("#tab-rp-1").html(response);
},
error: function (e) {
alert('Unknown error ' + e);
}
});
}
转到此控制器,表单转到页面。这里没有问题。将此表单加载到页面后,我单击创建按钮进行第二个ajax调用。
@RequestMapping(value = "/form", method = RequestMethod.POST)
public ModelAndView form(
@RequestParam(value = "id", required = false) Long id,
@RequestParam(value = "lockMode", required = true) LockMode lockMode,
HttpServletRequest request) {
ModelAndView mav = new ModelAndView("dialogs/forms/unitDimensionForm");
UnitDimension obj;
switch (lockMode) {
case CREATE:
obj = new UnitDimension();
break;
default:
obj = new UnitDimension();
obj.setUID("mg");
obj.setName("Milligram");
obj.setStatus(Status.DRAFT);
break;
}
mav.addObject("lockMode", lockMode);
mav.addObject("objView", UnitDimensionWrapper.wrap(obj));
return mav;
}
到目前为止没有问题。表单已加载到页面。 但是现在,当我单击以创建下一个ajax调用的按钮时,该脚本便进入了调用;
create: function () {
alert("Hi")
return;
}
浏览器链接转到该链接; “ http://localhost:8084/MyApp/unitDimension/form”,我收到HttpStatus 400错误。
此处,页面应保持不变,不得转发前一个请求。此链接将记录表单负载。 这里是什么?两天以来我一直在挣扎。