使用ajax和spring在同一页面中重定向新网址

时间:2018-03-30 06:54:39

标签: javascript ajax spring

我有一些像这样的代码ajax

    $.ajax({
        a :a,
        b : b,
        type : 'GET',
        method: 'GET',
        url   : "/report-join-promo/list",
        data : {a,b}

    });

我在我的控制器中有这个脚本

@RequestMapping(value = "/list", method = RequestMethod.GET )
public String ReportJoinPromoList(@RequestParam(value = "a" ,required = false,defaultValue = "") String a ,
                                  @RequestParam(value = "b" ,required = false,defaultValue = "") String b ,
                                  Model model){

    return "pages/promo/report";
}

第一个网址是http://localhost:8080/report/list 我希望我的网址在同一页面中显示为http://localhost:8080/report/list?a=valueofa&b=valueofb,但我无法解决此问题

1 个答案:

答案 0 :(得分:0)

如果您只使用HTML5,则可以使用history API更改网址,而无需转到服务器。所以,你的代码现在看起来像:

var a = 'Param1';
var b = 'Param2';
$.ajax({
    url : "/report-join-promo/list",
    type : 'GET',
    data : {
        a: a,
        b: b
    },
    success: function(response) {
         // Your code
    },
    error: function(xhr) {
        // Your code
    }
});
if(history.pushState) {
    history.pushState({}, 'Page Title', 'list?a=' + encodeURIComponent(a) + '&b=' + encodeURIComponent(b));
}

ASPSNIPPETS演示了此API的一个很好的示例。有关详细信息,请阅读MDN DOC