2016-04-05 2 views
0

У меня есть эта необычная проблема в heroku, где я загружаю некоторые данные сеанса из бэкэнд PHP с использованием Javascript fetch.PHP не возвращает данные на Ajax Call?

Файл PHP выглядит так,

<?php 
    session_start(); 
    header('Content-Type: application/json'); 

    $data = json_encode($_SESSION['data']); 
    print_r($data); 

и называет его с помощью Javascript

fetch('./data.php') 
    .then(function(response) { 
    return response.json() 
    }).then(function(json) { 
    console.log('parsed json', json) 
    }).catch(function(ex) { 
    console.log('parsing failed', ex) 
    }) 

Когда я загружаю данные из моего браузера вывод на консоли, разобран JSon нуль

Но когда я загружаю тот же самый файл data.php в свой браузер, напрямую направляясь к нему, он отлично печатает данные в браузере.

Что я сделал не так, чтобы заставить его вести себя двумя разными способами при вызове с помощью ajax, чтобы он не работал, и заставить его работать при прямом доступе к файлу? Спасибо

+0

Включите отчет об ошибках PHP и проверьте вкладку «Сеть» в инструментах разработчика вашего любимого браузера. – MonkeyZeus

+0

@MonkeyZeus Я не сделал ничего плохого в этом, я не знаю, что не так:/ – rksh

ответ

0

Я выполнил ваш код и получил нулевой ответ, потому что в настоящее время у меня нет данных в переменной данных сеанса.
Итак, я думаю, ваши данные сеанса работают некорректно, сначала попробуйте распечатать данные сеанса отдельно в своем приложении, а затем попытайтесь выполнить этот код.

+0

Ну, когда я открываю data.php непосредственно из браузера, данные сеанса правильно загружаются и распечатывают данные, поэтому я думал об этом должен что-то сделать с heroku – rksh

+0

Но если это что-то связано с героикой, то оно не должно возвращать какие-либо данные. Но удивительно, что он возвращает данные тестирования: session_start(); header ('Content-Type: application/json'); $ data = 'jgadhgash'; $ data = json_encode ($ data); print_r ($ data); Я просто попытался вывести некоторые данные. – Aparna

+0

Я думаю, что я понял это, это как-то связано с javascript Fetch, когда я делаю вызов Ajax с помощью jquery $ .get, он работает. Так что что-то не так с API-интерфейсом Fetch – rksh

Смежные вопросы