У меня есть html-страница, заполненная из приложения cgi. Прямо сейчас, когда я вношу изменения на своей html-странице через форму
<form action = "/cgi-bin/Lib.exe" method=POST name = "checks" ID = "Form2">
Берет меня от
http: //localhost/index.html
to
http: //localhost/cgi-bin/Lib.exe
где CGI выводит некоторые строки отладки, которые я туда вставил. Затем мне нужно вручную вернуться к индексу, чтобы увидеть его обновленным.
Когда форма html отправляет запрос в приложение cgi, приложение CGi выполняет обновление в базе данных и повторно записывает индекс html. Как мне оставаться на главной странице и видеть, как она обновляется? (Я использую легкий веб-сервер GoAhead, CGI на C и html, JS)
Спасибо.





вы в основном спрашиваете «как мне использовать AJAX». Я бы рекомендовал использовать библиотеку. В JQuery это выглядело бы примерно так:
$.ajax({
type: "POST",
url: "/cgi-bin/Lib.exe",
data: "foo=bar&spoo=fleem",
success: function(html){
$("#results").append(html);
}
});
Вы можете отправить код состояния 302 из сценария CGI, который перенаправит браузер пользователя на /index.html.
По сути, сделайте так, чтобы сценарий CGI выплюнул это:
HTTP/1.1 302 Found
Location: /index.html
Не забудьте после этого поставить два разрыва строки.
Это не работает при печати с использованием printf() в C CGI.
Да, хотя 303 See Other обычно считается «лучше».