Запрос ajax не работает в localhost wampserver

У меня есть следующий код

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

который я получаю вызывать на рабочем сервере без каких-либо проблем. Но когда я использовал его в своей локальной системе, запрос ajax не выполняется. Я пробовал во всех браузерах, но все равно. Что может вызвать проблему? Мне нужно напечатать сообщение об ошибке ajax для того же самого. Как я могу это достичь?

+2
источник поделиться
3 ответа

Спасибо за ваши ответы. Это связано не с относительной ссылкой на 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. Он был исправлен с помощью ob_start и ob_end_clean прямо перед выдачей JSON, который очищает буфер, получая помощь из следующей ссылки: " dataType:" json "не будет работать "

+4
источник

Наиболее распространенной проблемой является попытка получить доступ к странице неправильно на localhost.

С помощью WAMP, XAMPP и т.д. Вы не можете просто ввести адресную строку: c:\website\index.php

Вместо этого вы должны ввести: localhost

См. Этот ответ для получения дополнительной информации:

Невозможно загрузить активы при тестировании локального сайта

+2
источник

Вы должны поместить URL вместо относительного пути, например url: " http://localhost/something/profile/companyAutocomplete.php ".

Вы также можете опустить доменное имя, начиная с "/something/profile/companyAutocomplete.php".

-1
источник

Посмотрите другие вопросы по меткам или Задайте вопрос