如题,我在js里定义了一个变量如var node = "123";
我想把这个node变量传到action里。
我用ajax是这样写的:
$.ajax({
 type : "POST",
 url : "testAction.action",//这个在struts.xml里已经设好了
 data : "node=" + node,
 dataType : "json",
 success :  finish
});
然后,我在TestAction里用String node = request.getParameter("node");可是node为null。
不知道我这样写对不对?如果我对,我该用什么方法把js里定义的变量传到action里呢?求大神们指导我,谢谢!JavaScriptStringAjaxJSONURL

解决方案 »

  1.   

    data : "node=" + node,改为:
    data:{'node':node}
    action不变
      

  2.   

    jquery ajax传递参数应该是json格式
      

  3.   

    你的ajax用的是json格式,把"node="+node改为{node: node}试试
      

  4.   


    还是不到,还是null。我不知道在action里是不是用request.getParameter("node")来获取 js 里的node变量值?
      

  5.   

    var nodes = {'node':'123'};
    $.ajax({
     type : "POST",
     url : "testAction.action",//这个在struts.xml里已经设好了
     data : nodes,
     dataType : "json",
     success :  finish
    });
      

  6.   


    还是不到,还是null。我不知道在action里是不是用request.getParameter("node")来获取 js 里的node变量值?是的,你用浏览器看看,你传递的参数是不是空的
      

  7.   


    还是不到,还是null。我不知道在action里是不是用request.getParameter("node")来获取 js 里的node变量值?是的,你用浏览器看看,你传递的参数是不是空的不是空的,alert也能弹出来node值,浏览器里加断点也有值,但是看日志文件里node的值还是null。
      

  8.   


    还是不到,还是null。我不知道在action里是不是用request.getParameter("node")来获取 js 里的node变量值?是的,你用浏览器看看,你传递的参数是不是空的我听别人对我说用url : "xxxx.action?node=" + node这样,也是不行,也是null。你的那个方法我问过别人应该可以,我再从头查一遍吧,不知道是不是我配置文件或那里有点小错。
      

  9.   


    还是不到,还是null。我不知道在action里是不是用request.getParameter("node")来获取 js 里的node变量值?是的,你用浏览器看看,你传递的参数是不是空的我听别人对我说用url : "xxxx.action?node=" + node这样,也是不行,也是null。你的那个方法我问过别人应该可以,我再从头查一遍吧,不知道是不是我配置文件或那里有点小错。嗯,那是最常用的写法,应该没问题!
      

  10.   

    如果POST应该加contentType:application/x-www-form-urlencoded
      

  11.   


    还是不到,还是null。我不知道在action里是不是用request.getParameter("node")来获取 js 里的node变量值?是的,你用浏览器看看,你传递的参数是不是空的我听别人对我说用url : "xxxx.action?node=" + node这样,也是不行,也是null。你的那个方法我问过别人应该可以,我再从头查一遍吧,不知道是不是我配置文件或那里有点小错。嗯,那是最常用的写法,应该没问题!
    已经成功了,但不知道是什么原因,上周五测试的时候是null,今天测试node就有值了。也许是别人改动了配置文件,导致我这儿也不行了,不管怎么样,要谢谢你。