我在客户端有以下代码:
<script src="http://code.jquery.com/jquery-1.5.js"></script>
<script>
$(document).ready(function() {
$("a").click(function() {
//var orderId = $("#orderId").val();
$.post("test", { orderId : "John"},
function(data) {
alert("Data Loaded: " + data);
});
});
});
</script>
服务器端:
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
PrintWriter writer = response.getWriter();
try{
String orderId = request.getAttribute("orderId").toString();
writer.write(orderId);
writer.close();
}
catch(Exception ex)
{
ex.getStackTrace();
}
}
我的
request.getAttribute("orderId")
为null,我得到null引用exeption。我究竟做错了什么?
答案 0 :(得分:12)
我想你想要request.getParameter("orderId")
。属性仅供服务器端处理请求时使用。参数包含来自客户端的请求数据。
答案 1 :(得分:2)
您应该使用getParameter方法而不是getAttribute。
request.getParameter("orderId")
getParameter()将检索客户端已提交的值。当您将请求提交给另一个资源(服务器端)时,应该使用getAttribute()。