需求是這樣,我有一個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()
打斷點來調試。首先沒輸出,就不運作是不可能的。 貼一下代碼吧。或者自己設定一些斷點調試一下。