Я не уверен, что вы имеете в виду под "формой javascript, сгенерированной AJAX" - возможно ли, что вы генерируете форму в DOM с помощью javascript, а затем регулярно отправляете ее, нажимая (через javascript) кнопку ? Если это так, то он отправляется не через AJAX, а как обычный пост. Обработчик beforeSend вызывается только тогда, когда форма отправляется через AJAX. Ваш установочный вызов добавляет стандартную функцию beforeSend, которая устанавливает заголовок Accept так, чтобы возвращался javascript, но он делает это только для запросов, отправленных через AJAX.
Вот как выглядит AJAX-представление:
$.ajax({
url: '/controller/action',
type: 'post',
dataType: 'json',
data: $('form').serialize(), // this gets the form data
success: function() {
},
...
});
Это форма и представление, созданные в javascript (не AJAX).
$('<form><input type="hidden" name="inp" value="somedata" /></form>')
.appendTo(document.body)
.submit();
или (нажатием кнопки)
$('form #submitButton').click( function() {
$('form').submit()
});