На локальной машине (Win7 x64) имеется Apache (2.4.35) c PHP (7.2.10). B Apache в настройке виртуальных хостов сделано:
<VirtualHost *:80>
DocumentRoot ${WWWDIR}/test
ServerAdmin admin@localhost
ServerName test.home
ErrorLog ${LOGDIR}/test/error.log
CustomLog ${LOGDIR}/test/access.log combined
<Directory ${WWWDIR}/test>
Options Indexes FollowSymLinks
AllowOverride All
AddDefaultCharset UTF-8
DirectoryIndex index.php
ErrorDocument 500 /
ErrorDocument 404 /
ErrorDocument 403 /
ErrorDocument 402 /
ErrorDocument 401 /
ErrorDocument 400 /
Require local
<IfModule mod_php7.c>
php_admin_value upload_tmp_dir ${TMPDIR}
php_admin_value session.save_path ${SESSDIR}/test
php_admin_flag allow_url_include off
php_admin_flag enable_dl off
php_value magic_quotes_gpc on
php_flag register_globals off
php_value error_reporting "E_ALL"
php_flag display_errors On
</IfModule>
</Directory>
</VirtualHost>
В папке "test" лежит index.php, в котором в зависимости от запрошенной страницы формируется массив и выдает в виде JSON:
<?php
header('Cache-Control: no-cache');
header('Access-Control-Allow-Origin: *');
header('Content-Type: application/json');
$responce = array();
// ... parse $_SERVER[REQUEST_URI] and create data array ...
$responce = json_encode($responce);
if($responce !== false){
http_response_code(200);
echo $responce;
}
?>
Если обращаться к нему через браузер (к примеру, "http://test.home/" или "http://test.home/query/test", то в браузере отображается результат (строка JSON).
Если же обратиться к нему из jQuery:
$.getJSON('http://test.home/query/test',function(data){
$('#data').html(data.content);
});
То сервер присылает "пустышку", т.е. в Хроме в панельке, открывающейся по F12 ("Инструменты разработчика" вроде называется) видно, что сервер сначала присылает 280 байт заголовков, затем 0 байт содержимого. Сами заголовки запроса/ответа:
General:
Request URL: http://test.home/query/test
Request Method: GET
Status Code: 200 OK
Remote Address: 127.0.0.1:80
Referrer Policy: no-referrer-when-downgrade
Responce headers:
Cache-Control: no-cache
Connection: Keep-Alive
Content-Length: 0
Content-Type: text/html; charset=UTF-8
Date: Thu, 18 Apr 2019 20:03:30 GMT
Keep-Alive: timeout=5, max=100
Pragma: no-cache
Server: Apache/2.4.35 (Win64) PHP/7.2.10
X-Powered-By: PHP/7.2.10
Request headers:
Accept: application/json, text/javascript, */*; q=0.01
DNT: 1
Origin: null
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36
Собственно, вопрос: как заставить его выдавать JSON-массив при AJAX-запросе?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
В базе есть url изображенийСкрипт должен перебирать, загружать каждое на сервер в 3 папки: основная, копия, копия меньшего размера
Помогите правильно написать echoВыдает ", когда должно было написать Подробнее/Заказать
Работаю через MVC PHP Framework и мне нужно записывать данные из формы в таблицу БДДанные записываются, но также в эту же таблицу мне нужно загружать...
У меня есть 4 таблицы (iphones,mac,ipad,watch)Как можно их объединить в данном коде?