2015-06-24 3 views
1

В моей локальной среде мой ответ ajax представляет собой объект json, как ожидалось, который содержит только объекты и их пары значений, которые я запросил из базы данных sql, но после загрузки hostgator ответ намного больше, и мой объект может быть найден только в ответеText значения объекта ответа.Ответ на запрос ajax отличается от моей локальной среды и моего сервера

Свойство responseText не существует в моей локальной среде, поэтому доступ к нему непосредственно в моей живой среде приведет к отключению моего локального и живого кода и, вероятно, вызовет проблемы при выполнении обновлений плюс responseText - это строка, содержащая мои объекты, которым предшествуют // затрудняет доступ без синтаксического анализа и типа литья.

Я собирался опубликовать объекты, но они не форматируются хорошо, если я не воссоздал их, и ответ от сервера-хозяина слишком большой, чтобы воссоздать. Вместо этого вот как мой PHP-скрипт возвращает данные sql.

$db = new PDO('mysql:host='.constant('DB_HOST').';dbname='.constant('DB_NAME').';charset=utf8', constant('DB_USER'), constant('DB_PW')); 

    $sth = $db->prepare('SELECT `index`, Todays_Date, First_Name, Middle_Name, Last_Name, Telephone, Position FROM application'); 
    $sth->execute(); 

    $result = $sth->fetchAll(PDO::FETCH_ASSOC); 

    $row_count = count($result); 

    if($row_count > 0){ 
     echo json_encode($result); 
    }else{ 
     echo "No records found."; 
    } 

    // ajax call update 
    var listAjax = function() { 
    $.ajax({ 
     url: "api/listAll.php", 
     dataType: "json", 
     type: "GET", 
     data: {}, 
    }).done(function(data) { 
     buildList(data); 
     console.log(data); 
    }).fail(function(data) { 
     //console.log(data); 
    }) 
} 

Возможно, есть лучший способ вернуть мой json-объект из php? или, возможно, это общая проблема, с которой я не столкнулся. Дайте мне знать, если вам нужно что-либо увидеть из объекта ответа. Спасибо за любую помощь.

Обновление: добавлен код ajax. Видилось, что более длинный ответ с сервера с текстом ответа не прошел с пропущенным провалом, но он имеет статус 200. Пытался отправить изображения, но переполнение стека не позволит мне. Вот ссылка на фото выходного отклика: http://i1378.photobucket.com/albums/ah114/Dakota_Hipp/IMG_1158_zps32xytuqx.png

+0

Вы проверили, не сообщается ли ошибка со звонка AJAX? Когда то же самое случилось со мной, я всегда получал ошибку. Также может быть полезно опубликовать немного данных; не так много, но достаточно. – Twister1002

+0

добавил ссылку на вывод консоли ответа и вызов ajax. странно, что он отлично работает на моем компьютере и в магазине, но не на сервере. –

+0

Ну, мы должны убедиться, что у размещенного сервера нет проблемы, поэтому продолжайте тестирование с этого места. Я хочу, чтобы вы попробовали это и просто пошутили меня. Внутри объекта AJAX, ниже данных: {}, я хочу, чтобы вы добавили два свойства. 'success: function (data) {alert (« У меня есть данные »); }, 'AND' error: function (obj) {alert ("Error" + obj); } '. Это должно позволить вам отлаживать и определять, откуда исходит ошибка. Пробовали ли вы просматривать результаты (через URL) и посмотреть, есть ли какие-либо ошибки, которые отображаются? (Должно быть проще, чем использовать объекты AJAX, чтобы найти ошибку) – Twister1002

ответ

0

Per Обсуждения:

На изображении показано, есть // добавляется в начало ваших отражаемых данных, которые делают ваш JSON недействительным. Вам нужно выполнить обратный путь через ваши включенные файлы в запрошенный URL: url: "api/listAll.php" и удалить //, чтобы снова сделать ваш JSON действительным.