ajax基于从URL发送的Json对象执行操作

时间:2016-07-26 03:05:26

标签: javascript jquery json ajax web-deployment

我现在正在学习Ajax,不确定Ajax是否可以处理我的用例。 我有一个模板(Spring MVC中的JSP文件),它有一个按钮。 我目前的设计是,如果用户点击该按钮,他/她将被重定向到另一个页面

        $('#Button').on('click',function() {
      location.href = "/fulfill/order/${orderID}";
    });

现在,我想重新设计我的控制器/fulfill/order/${orderID}以返回Json对象。 因此,如果用户现在单击该按钮,则仍将调用控制器并返回Json对象。因此,Ajax可以捕获这些Json对象并基于此控制器发送的Json对象执行操作。 例如,如果用户单击该按钮,则控制器返回Json对象"成功"和Ajax处理这个Json对象并显示一个图像;如果控制器返回Json对象"错误,则无法实现",Ajax处理此Json对象并显示弹出错误消息。

我怎样才能使用Ajax来完成这项任务。这可能吗?

1 个答案:

答案 0 :(得分:1)

$.get("/fulfill/order/${orderID}",{},function(response){
     console.log(response);

})

如果您的控制器的操作仅接受POST请求:

$.post("/fulfill/order/${orderID}",{},function(response){
     console.log(response);

}) ; 

如果您想传递更多参数(例如:"/fulfill/order/${orderID}"?id=4343&before=2016),则需要将{2}参数{}替换为{id:4343,before:2016}

$.get& $.post来简化$.ajax电话会议。但是,如果要设置AJAX调用的自定义参数,建议使用$.ajax

    $.ajax({
        type : "POST",
        contentType : "application/json",
        url : "/fulfill/order/${orderID}",
        data : JSON.stringify(data),
        dataType : 'json',
        timeout : 100000,
        success : function(data) {
            console.log("SUCCESS: ", data);
            display(data);
        },
        error : function(e) {
            console.log("ERROR: ", e);
            display(e);
        },
        done : function(e) {
            console.log("DONE");
        }
    });

一个很好的tuto here,可以处理Spring MVC + AJAX的许多用例