如何在不使用url的情况下传递参数

时间:2014-02-17 06:25:18

标签: ajax jsp

我有很多值。 我需要将这些值传递到另一个页面,而不使用window.location

function sample(cID){
    var clg = ${param.clg};
    $.ajax({
        type : "post",
        url : "sampleShow?clg="+clg+"&cID="+cID+"&level="+level,
        dataType : "json",
        cache : false,
        beforeSend : function(xhr) {
            xhr.setRequestHeader("Accept", "application/json");
            xhr.setRequestHeader("Content-Type", "application/json");
        },
        success : function(response) {
            window.location= "cc"
        },
        error : function(xhr) {
            console.log("error"+xhr.status);
        },
        complete : function() {
        }
    });
}

这是我的控制器ajax功能:

@RequestMapping(value = "sampleShow", method = RequestMethod.POST)
public @ResponseBody
String showc(HttpServletRequest request,Model  model)
{
    model.addAttribute("ccID", request.getParameter("cID"));
    model.addAttribute("clg", request.getParameter("clg"));
    model.addAttribute("level", request.getParameter("level"));

    return "{\"sucess\":\"true\"}";
}

我需要在cc页面中获取值。

1 个答案:

答案 0 :(得分:0)

你的ajax电话应该​​是:

 $.ajax({
        type : "post",
        url : "sampleShow",            
        data :  {clg: clg, cID: cID, level: level },            
        success : function(response) {
            window.location= "cc"
        },
        error : function(xhr) {
            console.log("error"+xhr.status);
        },
        complete : function() {
        }
    });

无需指定dataType:“json”,因为您没有发送json。使用“数据”传递数据。有关详细信息,请参阅jQuery.ajax()

您也可以使用简写方法jQuery.post()来发布而不是jQuery.ajax()

您可能还想阅读what-is-the-difference-between-post-and-get