由于未定义的变量,未加载JSON文件

时间:2018-01-16 13:55:41

标签: javascript python json

我有一个python脚本正在从一个html文件中提供和执行。这个脚本写了一个json文件,我想用javascript读取json文件。这些值被定义为从html传递到python并正在正确处理它们。

只要我想加载json文件,Web控制台就会抛出错误,说“&34;数据未定义"”。

相关的python代码:

    data = {}
    for i in range(t_final.size):
        data[i] = t_final[i]

    with open('data.json', 'w') as fp:
        json.dump(data, fp)

Javascript电话:

    <script type="text/javascript" src="/cgi-bin/data.json"></script>
    <script type="text/javascript" >
            function load() {
                 var mydata = JSON.parse(data);
                 var div = document.getElementById('xbtn');

             }
    </script>
    <div id="xbtn"></div>

这是执行

后json文件包含的内容
    {"0": 0.0, "1": 0.013508013525931116, ... , "1999": -0.0}

我现在正在研究这几天,也许我只是没有看到它。我认为这是非常明显的事情。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

因此。我已设法正确设置ajax。问题是端点设置错误(显然)。因此,要处理的数据被发送到json文件,而不是发送到应该处理它的python脚本。

ajax:

$(function(){
  $('#btn2').click(function(){
    $.ajax({
      url: 'https://192.168.80.27/cgi-bin/verlauf_Grenzen.py',
      type: 'post',
      data: $('.senddata').serialize(),
      success: function(data) {
        window.alert("Data sent!");
         },
      });
   });
});

HTML:

<form class="senddata" method="POST" name="getdata1">
<input id = "testa1" type = "number" step=0.01 name = "a1" />
<input id = "testv1" type = "number" step=0.01 name = "v1" />
<input id = "tests1" type = "number" step=0.01 name = "s1" />
<input id = "testj1" type = "number" step=0.01 name = "j1" />
</form>

<input id="btn2" class="button" type="button" value="Send Values"  value="Click"/>

这会将表单元素发送到python脚本。