另一个Ajax调用触发前一个Ajax调用

时间:2018-12-30 19:09:47

标签: ajax spring post forward

当我尝试从另一个加载了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错误。

此处,页面应保持不变,不得转发前一个请求。此链接将记录表单负载。 这里是什么?两天以来我一直在挣扎。

0 个答案:

没有答案