использую
jQuery v1.4.2
jQuery Tools 1.2.4 Overlay
Form v2.47
с помощью оверлей создаю окнок, туза загружаю данные,
при запросе к пхп скрипту заголовок
$_SERVER['HTTP_X_REQUESTED_WITH'] проставляется нормально
при отправке формы данные уходят, но заголовок не ставится, и поэтому отдается все страница, включая шапку и тп
----
решение одно есть это отдельный обработчик для ajax
но это не выход,
---
я так понимаю не у меня одного подобная проблема возникала
может кто что подскажет
---
отладчиком проверял ответ не приходит
увы, а в первом случае при запросе страницы заголовок есть...
---
я использую не iframe
вся обработка в диве
<script type="text/javascript">
$(document).ready(function(){
// готовим объект
var options = {
target: "#modalbox",
url: "{action}",
beforeSubmit: showRequest, // функция, вызываемая перед передачей
success: showResponse, // функция, вызываемая при получении ответа
//type: "post", // get or post, override for forms method attribute
//dataType: "html", // xml, script, or json (expected server response type)
timeout: 15000,
};
// привязываем событие submit к форме
$("#userform").submit(function() {
$(this).ajaxSubmit(options);
// !!! Важно !!!
// всегда возвращаем false, чтобы предупредить стандартные
// действия браузера (переход на страницу form.php)
return false;
});
});
// bind form using ajaxForm
//$("#userform").ajaxForm(options);
//});
function showRequest(formData, jqForm, options) {
// formData - массив; здесь используется $.param чтобы преобразовать его в строку для вывода в alert(),
// (только в демонстрационных целях), но в самом плагине jQuery Form это совершается автоматически.
var queryString = $.param(formData);
// jqForm это jQuery объект, содержащий элементы формы.
// Для доступа к элементам формы используйте
// var formElement = jqForm[0];
alert(\'Вот что мы передаем: \n\n\' + queryString);
// здесь можно вернуть false чтобы запретить отправку формы;
// любое отличное от fals значение разрешит отправку формы.
return true;
}
// вызов после получения ответа
function showResponse3(data) {
// data is the json object returned from the server
alert(data.message);
}
function showResponse2(responseXML) {
// responseXML is the XML document returned by the server; we use
// jQuery to extract the content of the message node from the XML doc
var message = $(\'message\', responseXML).text();
alert(message);
}
function showResponse(responseText, statusText) {
// для обычного html ответа, первый аргумент - свойство responseText
// объекта XMLHttpRequest
// если применяется метод ajaxSubmit (или ajaxForm) с использованием опции dataType
// установленной в xml, первый аргумент - свойство responseXML
// объекта XMLHttpRequest
// если применяется метод ajaxSubmit (или ajaxForm) с использованием опции dataType
// установленной в json, первый аргумент - объек json, возвращенный сервером.
alert(\'Статус ответа сервера: \' + statusText + \'\n\nТекст ответа сервера: \n\' + responseText +
\'\n\nЦелевой элемент div обновиться этим текстом.\');
}
</script>