求懂jquery和动态action的人:jquery的ajax动态action传不了action中的方法名
$(document).ready(function(){$("button").click(function(){$.post("news.html?ms=lxy",f...
$(document).ready(function(){
$("button").click(function(){
$.post("news.html?ms=lxy",function(result){
alert(result);
alert(result.users[0].name);
});
});
});
第一个alert是
{"users":[{"name":"chuanguolaile"}]}
第二次就出错了..说是这个users是空
Error: Unable to get value of the property '0': object is null or undefined
java:
PrintWriter out = response.getWriter();
String ms=request.getParameter("ms");
if("lxy"==ms)
{
out.println("{\"users\":[{\"name\":\"chuanguolaile\"}]}");
return null;
}
else
{
out.println("{\"users\":[{\"name\":\"meiyouchuanguolai\"}]}");
return null;
}
这个方法是默认的方法,把js改成
$(document).ready(function(){
$("button").click(function(){
$.post("news.html?para=getName",function(result){
alert(result);
alert(result.users[0].name);
});
});
});
这样就不行了
public ActionForward getName(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
PrintWriter out = response.getWriter();
out.println("{\"users\":[{\"name\":\"lxy\"}]}");
out.flush();
out.close();
return null;
}
这样传过来getName但是不知道里面怎么传的它不认识...所以还是用的上面的函数 展开
$("button").click(function(){
$.post("news.html?ms=lxy",function(result){
alert(result);
alert(result.users[0].name);
});
});
});
第一个alert是
{"users":[{"name":"chuanguolaile"}]}
第二次就出错了..说是这个users是空
Error: Unable to get value of the property '0': object is null or undefined
java:
PrintWriter out = response.getWriter();
String ms=request.getParameter("ms");
if("lxy"==ms)
{
out.println("{\"users\":[{\"name\":\"chuanguolaile\"}]}");
return null;
}
else
{
out.println("{\"users\":[{\"name\":\"meiyouchuanguolai\"}]}");
return null;
}
这个方法是默认的方法,把js改成
$(document).ready(function(){
$("button").click(function(){
$.post("news.html?para=getName",function(result){
alert(result);
alert(result.users[0].name);
});
});
});
这样就不行了
public ActionForward getName(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
PrintWriter out = response.getWriter();
out.println("{\"users\":[{\"name\":\"lxy\"}]}");
out.flush();
out.close();
return null;
}
这样传过来getName但是不知道里面怎么传的它不认识...所以还是用的上面的函数 展开
1个回答
展开全部
第一个alert是
{"users":[{"name":"chuanguolaile"}]}
第二次就出错了..说是这个users是空
Error: Unable to get value of the property '0': object is null or undefi
说明第二次值没有写进去或者写的不对
可能原因有缓存。
java:
PrintWriter out = response.getWriter();
String ms=request.getParameter("ms");
if("lxy"==ms)
{
out.println("{\"users\":[{\"name\":\"chuanguolaile\"}]}");
//要添加上缓存更新和关闭字节流
out.flush();
out.close();
return null;
}
else
{
out.println("{\"users\":[{\"name\":\"meiyouchuanguolai\"}]}");
//要添加上缓存更新和关闭字节流
out.flush();
out.close();
return null;
}
//如果不是这肯能还要具体分析一下
这个方法是默认的方法,把js改成
$(document).ready(function(){
$("button").click(function(){
$.post("news.html?para=getName",function(result){
alert(result);
alert(result.users[0].name);
});
});
});
这样就不行了
public ActionForward getName(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
PrintWriter out = response.getWriter();
out.println("{\"users\":[{\"name\":\"lxy\"}]}");
out.flush();
out.close();
return null;
}
这样传过来getName但是不知道里面怎么传的它不认识...所以还是用的上面的函数
//这个看样子对servlet 不太熟
news.html?para=getName // 这个是URL para这个是要传递的参数在servlet通过
String ms=request.getParameter("ms");//可以获得后面的值
你后面跟的是方法名称肯定是不行的
{"users":[{"name":"chuanguolaile"}]}
第二次就出错了..说是这个users是空
Error: Unable to get value of the property '0': object is null or undefi
说明第二次值没有写进去或者写的不对
可能原因有缓存。
java:
PrintWriter out = response.getWriter();
String ms=request.getParameter("ms");
if("lxy"==ms)
{
out.println("{\"users\":[{\"name\":\"chuanguolaile\"}]}");
//要添加上缓存更新和关闭字节流
out.flush();
out.close();
return null;
}
else
{
out.println("{\"users\":[{\"name\":\"meiyouchuanguolai\"}]}");
//要添加上缓存更新和关闭字节流
out.flush();
out.close();
return null;
}
//如果不是这肯能还要具体分析一下
这个方法是默认的方法,把js改成
$(document).ready(function(){
$("button").click(function(){
$.post("news.html?para=getName",function(result){
alert(result);
alert(result.users[0].name);
});
});
});
这样就不行了
public ActionForward getName(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
PrintWriter out = response.getWriter();
out.println("{\"users\":[{\"name\":\"lxy\"}]}");
out.flush();
out.close();
return null;
}
这样传过来getName但是不知道里面怎么传的它不认识...所以还是用的上面的函数
//这个看样子对servlet 不太熟
news.html?para=getName // 这个是URL para这个是要传递的参数在servlet通过
String ms=request.getParameter("ms");//可以获得后面的值
你后面跟的是方法名称肯定是不行的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询