我的代码(index.html)
我的代码(load_txt.php)
它不起作用,#msg中没有显示任何内容.你能看到一些错误吗?如果是的话,请回答,thx :)
你实际上并没有返回JSON.你正在运行一个json_encode
没有键的字符串,这只是给你一个字符串.然后将其返回到期望JSON的jQuery,因此很可能在尝试反序列化字符串时抛出错误.
要解决此问题,请更改PHP代码以实际返回JSON:
echo json_encode(array('var1' => $var1, 'var2' => $var2));
并修改您的jQuery以从反序列化的对象中读取:
var interval = setInterval(function() { $.get("load_txt.php", { 'var1': 4, 'var2': 52 }, function(data) { $('#msg').append(data.var1 + ' ' + data.var2); }, "json"); }, 1000);
另请注意,使用AJAX请求setInterval
并不是一个好主意,好像请求需要的时间超过完成时间间隔才能完成.最好setTimeout
在前一个请求完成后使用并发出新请求:
function makeRequest() { $.get("load_txt.php", { 'var1': 4, 'var2': 52 }, function(data) { $('#msg').append(data.var1 + ' ' + data.var2); setTimeout(makeRequest, 1000); // on success }, "json"); } makeRequest(); // on load