我使用以下jQuery片段向servlet发送url
参数:
$.getJSON("http://localhost:8080/JsoupPrj/JasonGen?url=" + url, function(data) {
$("#content").html(data);
});
在服务器端,servlet获取参数,我编码如下:
String url = (String) request.getAttribute("url");
但它不起作用,你能告诉我我做错了吗?我相信我没有正确地将参数传递给servlet。 servlet每次都通过JavaScript触发,但是没有看到从浏览器传递的参数。
答案 0 :(得分:2)
下面,
String url = (String) request.getAttribute("url");
您尝试将请求参数作为请求属性而不是请求参数。这显然不会做你想要的。
您需要获取请求参数作为请求参数,而不是请求属性。
String url = request.getParameter("url");
无关:在发送之前,您似乎根本不对该参数进行URL编码。当url
包含特殊字符时,这可能会导致与此无关的其他问题。查看JS encodeURIComponent()
函数或data
函数的$.getJSON()
参数。有关更多提示,请参阅How to use Servlets and Ajax?