需求是這樣,我有一個ajax輪詢,請求一個php,php中主動推送訊息給特定微信用戶,沒有輸出內(nèi)容,
只是要讓它運行,但是實際情況是沒有輸出,它就不運行。
我做了一個測試,一個php裡程式碼產(chǎn)生一個檔案。然後一個頁面運行ajax請求這個php,目錄沒有產(chǎn)生文件,而直接運行php是產(chǎn)生文件的,表示我的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>
直接存取這個api位址,如果有正常資料(例如:在頁面顯示了一個json資料),這裡定時器的寫法應該是
setInterval(aj,3000);
說幾點我覺得可能錯的地方
1.success 沒輸出,還有應該吧error 也補全
2.請求地址如果不確定的話寫絕對地址
3.貼下php代碼 很可能後端出錯
使用google瀏覽器的開發(fā)者模式,看看是否有發(fā)起ajax請求,以及請求返回什麼數(shù)據(jù),再做進一步的排錯
兩端都可以調(diào)試:
1.瀏覽器端:按 F12
調(diào)出開發(fā)者工具,在 Network
面板中查看是否有網(wǎng)頁請求。沒有的話說明方法沒有執(zhí)行,可以看看 Console
面板中有沒有報錯。 F12
調(diào)出開發(fā)者工具,在 Network
面板中查看是否有網(wǎng)絡請求。沒有的話說明方法沒有執(zhí)行,可以看看 Console
面板中有沒有報錯。
2.服務器端:如果瀏覽器請求發(fā)送成功,那么說明服務器收到了請求。可以用 die()
2.伺服器端:如果瀏覽器請求發(fā)送成功,那麼表示伺服器收到了請求??梢杂?die()
打斷點來調(diào)試。
另外,
$.ajax()
方法中的type
值建議大寫。