2013-06-24 3 views
2

В настоящее время я запускаю сервер G-WAN, на котором размещаются статические файлы HTML. Прямо сейчас я использую iframe для отображения содержимого этих файлов. Я хотел бы иметь возможность загружать их в кросс-домен с помощью JavaScript. Который, по умолчанию, не разрешен браузером.Могу ли я добавить Access-Control-Allow-Origin: * в заголовки по умолчанию

Простым решением является добавление заголовка: Access-Control-Allow-Origin: * в ответ HTTP. Проблема в том, что я хотел бы избежать создания сервлета G-WAN для возврата статического HTML, просто чтобы добавить заголовок.

Возможно ли добавить заголовок по умолчанию?

ответ

0

Возможно ли добавить заголовки [HTTP] по умолчанию?

Конечно, добавьте следующий код в обработчик подключения G-WAN:

case HDL_BEFORE_WRITE: 
    { 
    char head[] = "Access-Control-Allow-Origin: *\r\n\r\n"; 
    http_header(HEAD_ADD, head, sizeof(head) - 1, argv); 
    break; 
    } 

Это будет доступно для всех ответов, статические и динамические.

Если вы хотите быть более избирательным, просто добавьте свой фильтр в код, указанный выше.

+0

Большое спасибо за ваш ответ. Мне нужно создать файл main.c в/handlers/dir для имени хоста, для которого я хочу это? –

+0

Да. Посмотрите примеры того, как выбрать в ** init() ** какое уведомление вы хотите получить (здесь HDL_BEFORE_WRITE). Код выше идет в обработчик ** main() **. – Gil