我需要将带有ajax参数的'+'字符传递给控制器​​。

带参数的Ajax调用包含“ +”字符。

var subsNumbers = '+94'
var url = 'getList?subsNums='+subsNumbers;

$.ajax({
        url:url,
        type:'POST',
        dataType:'json',
        success:function (saveResponse) {
....
}
});


在我的控制器(Spring控制器类)中,

String deviceNumbers = request.getParameter("subsNums");
logger.debug("deviceNumbers-->{}", deviceNumbers);


“ +”字符已替换为空格。
实际结果是

deviceNumbers--> 94


预期是

deviceNumbers-->+94

最佳答案

您的网址编码不正确,请使用encodeURIComponent

var url = 'getList?subsNums='+encodeURIComponent(subsNumbers);

10-06 10:00