将javascript变量发送到服务器并使用jsp将其写入同一页面中的文件

时间:2013-10-11 03:50:13

标签: jquery ajax jsp

有没有办法发送javascript变量,例如:

mychart.jsp

中的

        <script>  
        var options = {
                chart: {
                       type: 'line'
                },
                title: {
                     text: 'CPU Report -    SIU-A-CWDC Server,  realtime ',
                     x: -20 //center
               }
            }
         </script>

我意识到这应该是json对象并且已经尝试使用ajax发送到服务器,ajax将其发送到不同的页面,即 mychart2.jsp ,如下所示:

 var data = "op=" + JSON.stringify(options);
 $.ajax({
        url: 'mychart2.jsp',
        type: 'POST',
        contentType: 'application/json',
        data:data,
        processData: false,
        dataType: 'json'
    });

因此,在 mychart2.jsp 上,我尝试执行以下操作:

  <%

       String str=request.getParameter("op");
       try {
            PrintWriter pw = new PrintWriter(new FileOutputStream("/home/myhome/myweb/test.json"));
            pw.println(str);
            pw.close();
     }
     catch(IOException e) {
          out.println(e.getMessage());
     }

  %>

显然, test.json 上只显示 null 。知道怎么克服这样的事吗?以及如何在仅在 mychart.jsp 的同一页面中制作它?提前谢谢。

1 个答案:

答案 0 :(得分:0)

@Doni Andri Cahyono您可以尝试以下,

 var options = {
                chart: {
                       type: 'line'
                },
                title: {
                     text: 'CPU Report -    SIU-A-CWDC Server,  realtime ',
                     x: -20 //center
               }
            };

    $.ajax({
        url : 'mychart2.jsp',
        type : 'POST',
        data : "jsonData=" + options,
    });

您将获取数据作为对象。您需要先将其反序列化。你可以使用gson库。这link可能会对您有所帮助。