HTTP请求参数不能通过request.getAttribute()
我使用以下jQuery件发送一个url
参数给servlet:
$.getJSON("http://localhost:8080/JsoupPrj/JasonGen?url=" + url, function(data) { $("#content").html(data); });
在服务器端,servlet获取参数,我编码如下:
String url = (String) request.getAttribute("url");
但是它不工作,你能告诉我我在做什么错吗? 我相信我没有正确地将parameter passing给servlet。 servlet每次都通过JavaScript触发,但是没有看到从浏览器传来的参数。
这里,
String url = (String) request.getAttribute("url");
你试图获得一个请求参数作为一个请求属性,而不是一个请求参数 。 这显然不会做你想要的。
您需要获取请求参数作为请求参数,而不是作为请求属性。
String url = request.getParameter("url");
与具体问题无关 :在发送之前,您似乎没有对URL进行参数编码。 这可能会导致其他问题,与这个无关,当url
包含特殊字符。 查看JS encodeURIComponent()
函数或$.getJSON()
函数的data
参数。 另请参阅更多提示如何使用Servlet和Ajax?