2

我正在url使用以下 jQuery 片段向 servlet 发送参数:

$.getJSON("http://localhost:8080/JsoupPrj/JasonGen?url=" + url, function(data) {
    $("#content").html(data);
});

在服务器端,servlet 获取参数,为此我编码如下:

String url = (String) request.getAttribute("url");

但它不起作用,你能告诉我我做错了什么吗?我相信我没有将参数正确地传递给 servlet。servlet 每次通过 JavaScript 触发,但它看不到从浏览器传递的参数。

4

1 回答 1

3

这里,

String url = (String) request.getAttribute("url");

您正在尝试将请求参数作为请求属性而不是作为请求参数。这显然不会做你想要的。

您需要获取请求参数作为请求参数,而不是作为请求属性。

String url = request.getParameter("url");

与具体问题无关:在发送之前,您似乎根本没有对参数进行 URL 编码。url当包含特殊字符时,这可能会导致与此无关的其他问题。看JSencodeURIComponent()函数,或者函数的data参数$.getJSON()。另请参阅如何使用 Servlet 和 Ajax?

于 2012-08-24T16:13:28.607 回答