2012-08-24 54 views
1

我發送url參數使用以下jQuery的一塊的servlet:HTTP請求參數不可通過request.getAttribute()

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

在服務器端中,servlet獲取參數,對於我編碼如下:

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

但它不工作,你能告訴我我在哪裏做錯了嗎?我相信我沒有正確地將參數傳遞給servlet。該servlet每次都通過JavaScript觸發,但它沒有看到從瀏覽器傳遞的參數。

回答

2

這裏,

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

你正在試圖獲得一個請求參數作爲請求屬性,而不是作爲一個請求參數。這顯然不會做你想做的。

您需要獲取請求參數作爲請求參數,而不是請求屬性。

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

無關到具體的問題:你似乎並不被URL編碼發送之前的所有參數。當url包含特殊字符時,這可能會導致與此問題無關的其他問題。查看$.getJSON()函數的JS encodeURIComponent()函數或data參數。請參閱更多提示How to use Servlets and Ajax?