0

有没有办法发送 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上的同一页面中创建它?先感谢您。

4

1 回答 1

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 库。此链接可能对您有所帮助。

于 2013-10-11T14:19:56.283 回答