需求是这样,我有一个ajax轮询,请求一个php,php中主动推送消息给特定微信用户,没有输出内容,
只是要让它运行,但是实际情况是没有输出,它就不运行。
我做了个测试,一个php里代码生成一个文件。然后一个页面运行ajax请求这个php,目录没有产生文件,而直接运行php是产生文件的,说明我的php没有错。下面是ajax代码,你们看看
<script>
function aj(){
$.ajax({
type: 'get',
dataType: 'html',
url: '/wechat/Wechatqyzj/ajaxPoll',
success:function(result){
//alert(result);
}
});
}
$(document).ready(function(){
setInterval('aj()',3000);
});
</script>
header函数能调用请求,你试一下。或者直接ajax请求就行
贴php代码吧,ajax看不出什么
直接访问这个api地址,如果有正常数据(例如:在页面显示了一个json数据),这里定时器的写法应该是
setInterval(aj,3000);
url 可以不写 .php?
说几点我觉得可能错的地方
1.success 没输出,还有应该吧error 也补全
2.请求地址如果不确定的话写绝对地址
3.贴下php代码 很可能后端出错
使用google浏览器的开发者模式,看一下是否有发起ajax请求,以及请求返回什么数据,再做进一步的排错
两端都可以调试一下:
1.浏览器端:按
F12
调出开发者工具,在Network
面板中查看是否有网络请求。没有的话说明方法没有执行,可以看看Console
面板中有没有报错。F12
调出开发者工具,在Network
面板中查看是否有网络请求。没有的话说明方法没有执行,可以看看Console
面板中有没有报错。2.服务器端:如果浏览器请求发送成功,那么说明服务器收到了请求。可以用
die()
2.服务器端:如果浏览器请求发送成功,那么说明服务器收到了请求。可以用die()
打断点调试。首先没输出,就不运行是不可能的。 贴一下代码吧。或者自己设置一些断点调试一下。