2016-02-25 248 views
-1
文件

我已经试过这是我以前的问题的答案,但它不工作,它只是报告500内部服务器错误和萤火不会报告任何错误的详细信息:请求通过Ajax

(function worker() { 
$.ajax({ 
    url: 'buildmarkers.inc.php', 
    type: 'POST', 
    success: function(data) { 
$('.result').html(data); 
}, 
complete: function() { 
    // Schedule the next request when the current one's complete 
setTimeout(worker, 30000); 
} 
}); 
})(); 

当我尝试这样它是工作:

<?php include('buildmarkers.inc.php')?> 
+0

错误日志将提供一个巨大的线索。 –

+0

你可以添加你的php代码吗? – user3284463

回答

0

你真正的问题是,“为什么我得到500错误。”如果没有buildmarkers.inc.php的代码,就无法确定答案。你没有看到任何萤火虫,因为它是一个服务器端错误。如果您修改了JavaScript并添加了错误功能,您会在客户端看到它失败。

(function worker() { 
$.ajax({ 
    url: 'buildmarkers.inc.php', 
    type: 'POST', 
    success: function(data) { 
    $('.result').html(data); 
    }, 
    error: function(data){ 
    console.log("Save me Tom Cruise! The server is on fire!"); 
    }, 
    complete: function() { 
    // Schedule the next request when the current one's complete 
    setTimeout(worker, 30000); 
    } 
    }); 
})(); 
+0

那么我真正的问题是为什么它是一种方式,而不是其他方式,有什么不同的Ajax请求相比,包括JavaScript? 而且我确实在ajax上尝试了POST和GET方法。 – Dominik

+0

当您需要该文件时,PHP会在需要的脚本的上下文中处理它。也许你有意要对需要的脚本执行ajax调用,而不是buildmarkers.inc.php?如果您点击的是http://example.com/buildmarkers.inc.php,这与使用ajax获得的结果相同。你需要做的是看看PHP错误日志,看看发生了什么。 – mkaatman

0

Ajax调用将获得与URI的相对路径(基于DOCUMENT_ROOT或Web服务器)的文件,它可能是与不同​​的包括()在使用当前脚本文件的绝对路径的PHP。您可能会:

  1. 检查项目的文件夹结构,脚本路径和“buildmarkers.inc.php”之间是否有区别?
  2. 它对你的web服务器有任何重写规则吗?
  3. 你应该检查你的网络服务器的错误日志,它应该显示有用的消息。
+0

我试图查看PHP日志,但找不到任何东西,根本找不到日志。和php.ini,说[error_log = /var/log/php_errors.log],但没有文件。 – Dominik

+0

它应该在webserver错误日志文件中。您应该检查localhost的VirtualHost配置,然后查看该文件中的错误日志(Nginx:error_log,Apache:ErrorLog) –