2017-05-31 34 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 

希望最好的选择那应该会给你关于你的错误的确切细节,从而帮助你解决它。