mod_pagespeed добавляет & lt; head / & gt; тег к ответам

У меня есть простое приложение PHP с mod_pagespeed в Apache 2.4.

Просмотр документации модуля PageSpeed ​​(https://developers.google.com/speed/pagespeed/module/filter-head-add) это говорит, что это добавляет <head/> тег к документу, если он встречает тег body.

Проблема в том, что я делаю AJAX-запрос, который возвращает строку таблицы HTML, которую затем добавляю в таблицу.

Ответ до mod_pagespeed был:

<tr><td>Data1</td><td>Data2</td></tr>

Я мог бы просто сделать:

$('#myTable > tbody:last-child').append(data);

И это будет работать нормально.

Теперь ответ:

<head/><tr><td>Data1</td><td>Data2</td></tr>

И это ломается.

У меня вопрос, происходит ли это все время? Нужно ли удалять директиву add_head? Есть ли другой способ сообщить mod_pagespeed, что это AJAX-запрос?

4

Решение

Я думаю, что ваш ответ имеет тип содержимого text / html, поэтому mod_pagespeed предполагает, что это HTML-документ с отсутствующим тегом head.

Попробуйте установить другой тип контента (например, text/plain):

header("Content-Type: text/plain");

или что-то готовое как text/ajaxresponse

header("Content-Type: text/ajaxresponse");

который будет рассматриваться как обычный текст в обычных браузерах. Теперь mod_pagespeed больше не рассматривает ваш ответ как полный HTML-документ, поэтому тег head больше не будет вставлен.

Специальный заголовок типа контента для «ответа Ajax» не существует, так как тип контента для запроса Ajax не является фиксированным. Если ваш ответ будет JSON, application/json может быть использован.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]