我有这个jquery代码:
var login = 'joe';
var url = 'users/' + login + '/presence';
var data = {
presence : $('#presence').val()
};
$.ajax({
url: url,
type: 'POST',
data: data
});
在我的servlet代码中,我希望能成为表:
request.getParameterValues("presence")
但是,它始终返回null。如果我更改上面调用中的url并手动添加参数(例如url ='users /'+ login +'/ presence?presence ='+ $('#presence).val())那么我可以获取值使用request.getParameterValues
。
我做错了什么?
答案 0 :(得分:1)
在doGet()
方法中无法访问参数是合乎逻辑的,因为它们是作为表单数据传递的。
首先,请确保您没有从其他地方使用GET调用相同的URL,并且您正在调试错误的内容。
然后看看FireBug告诉你有关请求的内容。例如,用于发出请求的方法是什么。以及发送的数据。
然后尝试使用$.post(..)
。
最后确保没有一些恶意代理将POST
请求转换为GET
个。
答案 1 :(得分:-1)
尝试创建数据以发送servlet
data : name1=value1&name2=value
而且,servet可以获取参数request.getParameter(name1)
希望这有帮助!