2012-10-10 85 views
0

我在使用jQuery post函數時遇到了一些麻煩。該函數應該運行多次,然後停止,它在過去已經成功完成。現在發生的事情是,它第一次運行該函數時,PHP腳本執行得很好。當它試圖再次運行時,我得到一個404錯誤。 這裏的javascript函數:ajax調用文件第一次,第二次得到404錯誤

function ajax_call(senddata){ 
    $.post("/script.php", senddata, 
     function(data) { 
      if(data.pointer != "done"){ 
       setTimeout(ajax_call(data), 100); 
      } 
     }, "json"); 
} 

php文件的輸出是:

{"pointer": "1234"} 

錯誤是發生在WordPress插件我寫和顯示爲: POST http://xxxxx.local/script.php 404(未找到) - load-scripts.php

正如我所說,它第一次工作。 php文件運行時沒有錯誤,所以文件存在,我在函數中正確調用它。它在過去有效,我已經將這兩個腳本恢復到了我知道它工作的地步。如果任何人有什麼想法會導致這一點,將不勝感激。謝謝。

+0

它不能成爲服務器端的問題,除非php腳本使用cookie和計數由特定ips /網站發出的請求並且只在第一次請求後才阻止它們。除非是這種情況,否則您需要通過客戶端編碼。並請張貼有關網站的鏈接。 –

+0

是否有任何其他服務器端問題可能導致此問題?我已經將這些文件上傳到現場,並且在那裏一切正常。我會發佈一個鏈接,但它都在wordpress網站的後端。 –

+0

更多的可能性在那裏,但它們可以被忽略。比如,服務器在第一次請求後將您列入黑名單。但是,當第一個請求成功時,爲什麼它會迴應404錯誤?第一個請求以服務器的算法作爲bot或站點爬行程序突出顯示您。還有一些人,但讓他們無意義的事情是,你被允許提出第一個要求。請求之間的ip是否被更改?如果不是,那麼錯誤在客戶端腳本。 –

回答

0

我不認爲你的JS有什麼問題。我會做的是在IE中使用firebug或F12來查看網絡上發生了什麼(網絡選項卡)。檢查請求和響應細節,確保一切都合理。

之後,我會檢查服務器日誌,看看您是否可以看到任何有關404請求的信息。

相關問題