ajax 请求在本地主机 wampserver 中不起作用

ajax request not working in localhost wampserver

本文关键字:wampserver 不起作用 主机 请求 ajax      更新时间:2023-09-26

>我有以下代码

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

我在生产服务器中被调用,没有任何问题。但是当我在本地系统中使用它时,没有发出 ajax 请求。我已经在所有浏览器中尝试过,但它仍然是一样的。 导致问题的原因是什么? 我需要打印相同的 ajax 错误消息。我怎样才能做到这一点?

感谢您的回答。这不是因为相对的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 通过从以下链接"数据类型:"json"不起作用"获得帮助来清除缓冲区

最常见的问题是尝试在本地主机上错误地访问页面。

使用WAMP,XAMPP等,你不能只在地址栏中输入:c:''website''index.php

相反,您必须键入:本地主机

有关详细信息,请参阅此答案:

在本地测试网站时无法加载资产

由于本地主机和服务器之间的配置差异,它可能在本地主机中查找"http://localhost:port/path/file.php"而不是"http://localhost:port/webapproot/path/file.php"。如果问题是问题所在,则更改本地主机中的 Ajax 调用可能会解决。通常在托管服务器上,"/file.php"是指应用程序的根目录,因此没有问题,但是在本地主机中,自配置以来,默认情况下它可能正在查看本地服务器根目录。最好总是使用相对路径"/webappname/path/file.php",但是使用"http://127.0.0.1:port/webappname/path/file.php",这比在本地URL中使用"localhost"要快得多。

你应该输入URL而不是相对路径,例如url:"http://localhost/something/profile/companyAutocomplete.php"。

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