Javascript Ajax Json请求不工作
所以我只是想创建一个计数器,每当我点击一个按钮,它就会更新数据库中的一个值,然后我想在页面上显示这个值。更新值的代码正在工作,但显示值的代码不想工作 下面是我刷新计数器的js代码:Javascript Ajax Json请求不工作,javascript,php,jquery,json,ajax,Javascript,Php,Jquery,Json,Ajax,所以我只是想创建一个计数器,每当我点击一个按钮,它就会更新数据库中的一个值,然后我想在页面上显示这个值。更新值的代码正在工作,但显示值的代码不想工作 下面是我刷新计数器的js代码: <script> setInterval("checkCount()",500); function checkCount() { jQuery.ajax({ url: 'http://ntc.aiesecfrance.org/server_count_get/',
<script>
setInterval("checkCount()",500);
function checkCount()
{
jQuery.ajax({
url: 'http://ntc.aiesecfrance.org/server_count_get/',
dataType: 'json',
success: function(data) {
alert("data.count");
}
});
};
</script>
但有了这个,我没有得到任何警觉。它就是不出现。
以下是php重新发布的示例:
{“0”:“8”,“计数”:“8”}
提前感谢您的帮助。您必须删除引号 它将是:
警报(data.count)
编辑
试试这个
jQuery.get('http://ntc.aiesecfrance.org/server_count_get/', function(r) {
var json = $.parseJSON(r);
alert(json.count);
});
$.get('http://ntc.aiesecfrance.org/server_count_get/', function(r) {
var $html = $(r);
var json_value = $html.find('#post-291 .entry-content').text();
var json = $.parseJSON(json_value);
alert(json.count);
});
我希望您包括jQuery。无论如何,试着把函数放在里面
$(function() {
function checkCount() { ... }
});
编辑2(重要)
我看到输出是一个HTML页面,而不仅仅是JSON。试试这个
$.get('http://ntc.aiesecfrance.org/server_count_get/', function(r) {
var $html = $(r);
var json_value = $html.find('#post-291 .entry-content').text();
var json = $.parseJSON(json_value);
alert(json.count);
});
无论如何,您无法进行跨源呼叫。您的
设置间隔
呼叫已中断。您想要setInterval(checkCount,500)
而不是setInterval(“checkCount()”,500)
。后者传递一个字符串,即使没有引号,它也会调用函数并传递其返回值setInterval
本身就是函数。我最终设法做到了这一点,事实上,这个jQuery代码很好:
<script>
setInterval("checkCount()",500);
function checkCount()
{
jQuery.ajax({
url: 'http://ntc.aiesecfrance.org/get_count/',
dataType: 'json',
success: function(data) {
alert(data.count);
}
});
};
</script>
setInterval(“checkCount()”,500);
函数checkCount()
{
jQuery.ajax({
网址:'http://ntc.aiesecfrance.org/get_count/',
数据类型:“json”,
成功:功能(数据){
警报(data.count);
}
});
};
唯一的问题是我使用的wordpress插件运行php并显示在主页上。但答案远远不止json(包含json的html),这就是为什么它不起作用的原因。但现在它已经完全工作了,再次感谢您的帮助:)是的,很抱歉只是为了测试。但还是不行我编辑了答案。检查一下!PS:这是POST或GET方法?“无论如何,你不能进行跨源调用。”-那不是真的。我们有CORS、JSONP和代理,它们使跨源调用成为可能。您好,我尝试了您所说的,但它不起作用,jQuery被启用,因为我正在使用它来增加值,并且它正在起作用。现在我在控制台中有了它:ReferenceError:checkCount没有定义,但我认为它出现了,因为我把函数放在了里面。你能把它放在jsbin o中吗?
setInterval
可以接受一个函数或一个字符串进行求值。传递函数是最好的做法,但它不能解决这里的问题。“即使没有引号”-在不删除()的情况下删除引号也会导致该问题,但没有人建议这样做。请执行一些基本调试。查看浏览器的开发工具。看看控制台。它是否显示任何错误?看看网络标签。它是否显示正在提出的请求?到正确的URL?你得到你期望的回应了吗?