Javascript ajax请求在localhost wampserver中不起作用

Javascript ajax请求在localhost wampserver中不起作用,javascript,php,jquery,ajax,wampserver,Javascript,Php,Jquery,Ajax,Wampserver,我有以下代码 $.ajax({ url: "../profile/companyAutocomplete.php", type: "GET", data: dataQuery, dataType: "json", success: function(responseData) { companySelectHandler(responseData); } }); 我在

我有以下代码

$.ajax({
        url: "../profile/companyAutocomplete.php",
        type: "GET",
        data: dataQuery,
        dataType: "json",
        success: function(responseData) {
            companySelectHandler(responseData);
        }
    });

我在生产服务器中被调用,没有任何问题。但是当我在本地系统中使用它时,没有发出ajax请求。我在所有浏览器中都试过了,但还是一样。问题的起因是什么?我需要打印同样的ajax错误消息。如何实现这一点?

最常见的问题是试图在localhost上错误地访问页面

使用WAMP、XAMPP等,您不能只键入地址栏:c:\website\index.php

相反,您必须键入:localhost

有关更多信息,请参阅此答案:


您应该放置URL而不是相对路径,例如URL:“”


您也可以省略域名,以“/something/profile/companyAutocomplete.php”开头。

谢谢您的回答。这不是因为相对URL引用

我使用下面的函数来确定是哪个错误导致Ajax请求失败

$(function() {
    $.ajaxSetup({
        error: function(jqXHR, exception) {
            if (jqXHR.status === 0) {
                alert('Not connect.\n Verify Network.');
            } else if (jqXHR.status == 404) {
                alert('Requested page not found. [404]');
            } else if (jqXHR.status == 500) {
                alert('Internal Server Error [500].');
            } else if (exception === 'parsererror') {
                alert('Requested JSON parse failed.');
            } else if (exception === 'timeout') {
                alert('Time out error.');
            } else if (exception === 'abort') {
                alert('Ajax request aborted.');
            } else {
                alert('Uncaught Error.\n' + jqXHR.responseText);
            }
        }
    });
});

该错误是由于浏览器在返回JSON之前试图打印其他内容而生成的解析错误。在输出JSON之前使用ob_start和ob_end_clean修复了此问题,JSON通过从以下链接“”获取帮助来清除缓冲区。

由于本地主机和服务器之间的配置差异,它可能在本地主机“”而不是“”中查找。在本地主机中更改Ajax调用并在相对路径中预先添加web应用程序名称可能会解决这一问题。通常在托管服务器上“/file.php”指的是应用程序的根,所以没有问题,但在本地主机中,它可能会在配置后默认情况下查看本地服务器根。最好始终使用相对路径“/webappname/path/file.php”,但使用“”比在本地URL中使用“localhost”更快。

您是否在浏览器控制台中查看了请求/响应?请检查您的Web服务器的配置。完全可能,它不是设置为处理提供的URL。您是否以文件/(或http://)的形式运行它?可能是跨域请求issueThis,因为您的开发环境与您的live环境不完全匹配。设置虚拟主机,使您使用的地址与实时环境匹配。如果我们使用完整的URL,它将没有效率,因为当我们从主机移动到本地服务器时,我们将更改所有的URL。此注释实际上表示,您不能使用
。/
而不仅仅是相对的,因为删除域会将其转换为相对的,所以此注释将变得不准确,事实上是错误的。确实如此。奇怪的是,如果你用file:///etc 您将看到来自jQuery方法的xhr请求指向正确的url(如果您使用absolutes),它将返回代码200,但资源本身不会列出,也不会工作。我有一个Ajax请求不工作,所以我使用您的代码,但它也不起作用。因此,它似乎既不涉及成功,也不涉及错误。。。。有什么想法吗?谢谢。我想承认的是,这会在很多时候派上用场:)