2017-05-31 70 views
1

道歉,如果這個問題有點含糊,但我不知道如何使它更具體。當談到JavaScript時,我是一名初學者。我有一個網頁發送一些Ajax調用服務器調用PHP腳本,它運行一些SQL數據庫的SQL。一切工作正常,然後突然間,我開始在我的一個ajax調用中發生內部服務器錯誤500。 ajax調用被放置在一個函數中,它大部分時間都在工作。只有當我傳遞函數時,一個特定的sql查詢纔會給出錯誤。我已經在數據庫中手動測試了查詢,並且它可以正常工作,所以它不是我傳遞的查詢的問題。奇怪的是,由於錯誤已經開始,所以現在它可以正常工作,但是大多數時候它不工作,錯誤似乎有些隨意。我意識到,在信息有限的情況下,可能不可能給出確切的答案,但是有沒有人經歷過這樣的事情?或者是否有任何人有任何線索,我可以如何達到這一點。我已經嘗試了一切。我將粘貼導致錯誤的函數(不知道這是否會有所幫助)。錯誤出現在「xmlhttp.send();」線。javascript php內部服務器錯誤500隨機

function phpRequest2(prov, phpsc, funct, bolL) { 

    <!-- document.getElementById("demo").innerHTML = qry; --> 

    var xmlhttp; 
    if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp = new XMLHttpRequest(); 
    } else { // code for IE6, IE5 
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 

    document.getElementById("demo").innerHTML = prov; 

    xmlhttp.open("GET", phpsc + ".php?qry=" + prov, true); 
    xmlhttp.send(); 

    xmlhttp.onreadystatechange = function() { 
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
     var arrLocs = JSON.parse(xmlhttp.responseText); 
     funct(arrLocs, bolL); 
    } 

    } 

} 
+3

500錯誤不在AJAX調用本身上,它在PHP上 - 可能是因爲它收到了它不期望從AJAX調用中得到的東西。 Web服務器的錯誤日誌將揭示更多關於實際問題的信息。 –

+1

500意味着存在服務器端錯誤。檢查您的PHP日誌,Web服務器日誌,打開PHP錯誤報告,調試服務器端代碼等。基本上,您需要找到「真實」錯誤消息,500只是服務器告訴瀏覽器出現問題的方式。 – David

+0

請你能指導我如何最好地調試我的服務器端代碼或打開PHP錯誤報告。抱歉的基本問題,因爲我說我是一個初學者.... – Jon

回答

1

你找出原因,當你得到的錯誤500是編輯你的php.ini文件並更改以下參數

display_errors = Off 
display_startup_errors = Off 

display_errors = On 
display_startup_errors = On 

希望最好的選擇那應該會給你關於你的錯誤的確切細節,從而幫助你解決它。