如何通過ajax將對象類型的元素髮送到servlet?下面 在我傳遞的價值作爲Ajax如下:如何通過Ajax發送對象到Servlet
data: { mapList : mapLists }
要獲得在Servlet正在做的價值低於如下:
Object o = request.getAttribute("mapList");
System.out.println(o);
但是,返回的值總是空。我該怎麼做才能解決這個問題?
如何通過ajax將對象類型的元素髮送到servlet?下面 在我傳遞的價值作爲Ajax如下:如何通過Ajax發送對象到Servlet
data: { mapList : mapLists }
要獲得在Servlet正在做的價值低於如下:
Object o = request.getAttribute("mapList");
System.out.println(o);
但是,返回的值總是空。我該怎麼做才能解決這個問題?
通過改變你的Ajax DATAS:
data: { 'mapList' : mapLists }
在HTTP GET或POST請求,你只能發送鍵/值對的列表作爲參數傳遞給服務器,所以你將不得不手動序列化你的對象發送它的屬性就是這種格式。
你應該更好地代替HttpServletRequest.getAttribute(String)
使用HttpServletRequest.getParameter(String)
。此外,作爲HTTP GET/POST參數獲得的內容將始終作爲String
在servlet中接收。
我假設你正在使用jQuery發送Ajax請求。我還認爲你的mapLists變量是一個json對象。據我所知,jQuery不會自動將json對象轉換爲鍵/值對HTTP參數列表,因此您必須自行完成,然後將其解析回servlet。你可以使用JSON.stringify()來轉換你的json對象,或者你可以手動序列化它。
你好,你們都做了你所說的修改,但結果仍然是空的。下面的鏈接打印出我想發送給我的Servlet http://bit.ly/V9oHsg的對象。所以,夥計們,還有其他的提示嗎?謝謝。 – 2013-02-13 17:26:00
Hello Roberto Linares感謝您的反饋。 [此鏈接](http://pastebin.com/Nug8CpVm)包含生成我的對象(數組)的函數。 [此鏈接](http://pastebin.com/j99dXmLa)有代碼,我如何通過ajax發送結果並將其獲取到servlet中。有了這些結果,我認爲是拿起價值,並把它們放在地圖
你好,你做了兩個修改,但結果仍然是空。下面的鏈接打印出我想發送給我的Servlet http://bit.ly/V9oHsg的對象。所以,夥計們,還有其他的提示嗎?謝謝。 – 2013-02-13 17:20:18