我正在尝试使用JSON请求变量的值,但是我的JSON代码有问题,我不知道它是什么。任何人都可以给我一些提示吗?
JSON代码:
{
"counter1": {
"variable": :="webdata".counter1:
},
"counter2": {
"variable": :="webdata".counter2:
},
}
JQuery代码:
$(document).ready(function(){
$.ajaxSetup({ cache: false });
setInterval(function() {
$.getJSON("json_data.json", function(result){
$('#counter1').text((result.variable[0]).trim());
$.getJSON("json_data.json", function(result){
$('#counter1').text((result.variable[0]).trim());
});
},1000);
});
HTML code:
<p label="counter1">0</p>
<p label="counter2">0</p>
提前致谢!
答案 0 :(得分:0)
你的JSON不是唯一错误的东西。为什么要在Javascript中调用相同的代码两次(你称之为jQuery)
&#34;标签&#34;属于你的&#34; p&#34;元素是错误的应该是&#34; id&#34;。
我不确定是什么产生了JSON,但这是实现目标的可能方式。
将JSON输出更改为:
{
"counters": [
{
"variable" : "COUNTER 1_VARIABLE"
},
{
"variable" : "COUNTER2_VARIABLE"
}
]
}
所有大写的位置应该是变量的内容,因为这是序列化输出
JQuery代码:
$(document).ready(function(){
$.ajaxSetup({ cache: false });
setInterval(function() {
$.getJSON("json_data.json", function(result){
$('#counter1').text((result.counters[0].variable).trim());
$.getJSON("json_data.json", function(result){
$('#counter2').text((result.counters[1].variable).trim());
});
},1000);
});
值得注意的是使用&#34; $。ajaxSetup()&#34;在文档中不鼓励。 https://api.jquery.com/jquery.ajaxsetup/
HTML code:
<p id="counter1">0</p>
<p id="counter2">0</p>
答案 1 :(得分:0)
首先,感谢大家的快速回答。
我设法让JSON工作如下:(尽管我还有问题)
JSON代码(json / json_data.json):
{
"counters": [
{
"variable": ":='webdata'.counter1:"
},
{
"variable": ":='webdata'.counter2:"
}
]
}
JQuery代码(my_script.js):
$(document).ready(function(){
$.ajaxSetup({ cache: false });
setInterval(function() {
$.getJSON("json/json_data.json", function(result){
$('#counter0').text(result.counters[0].variable);
});
},1000);
});
HTML code(index.htm):
<tr>
<td>PT000</td>
<td>Process value 0</td>
<td> <label id="counter0">0</label> </td>
<td>bar</td>
</tr>
现在重点是我在屏幕上打印的JSON中写入文本,这是我的变量的名称,我们可以说是达到我想要打印的值的路径。
重点是,如果我使用HTM文件并在其上写入变量的名称然后我只是使用JQuery来获取它的数据,但我有很多值我要打印的值,所以我想JSON可以帮助我解决这个问题。这里是HTM文件的示例:
HTM代码(IOValue1.htm):
:="webdata".counter1:
JQuery代码(my_script.js):
$(document).ready(function(){
$.ajaxSetup({ cache: false });
setInterval(function() {
$.get("IOValue1.htm", function(result){
$('#counter1').text((result));
});
},1000);
});
HTML code(index.htm):
<tr>
<td>PT001</td>
<td>Process value 1</td>
<td> <label id="counter1">0</label> </td>
<td>bar</td>
</tr>
可能我没有考虑JSON的一些基本事实,但我没有太多经验。有什么想法吗?