jquery php отправка форм

php jQuery AJAX

прям какой-то феномен у меня тут происходит...
было так: нужно было отправить форму через jquery ajax вот таким образом:
$(".edit-item-form").submit(function(event)
{
$.ajax({
url: $(this).attr("action"),
type: "POST",
data: $(this).serializeArray(),
success: function(callback)
{
alert(callback);
},
error: function()
{
alert('error');
}
});
event.preventDefault();
});

вот таким образом я обрабатывал полученую форму:
if(isAjax())
{
$params = $_POST;
if(method_exists($model,$params['action']))
{
$result = call_user_func(array($model,$params['action']),$params);
}
else
{
$result = 'Unavailable operation';
}
echo $result;
exit;
}
тут все просто : если метод в объекте $model существует - выполнить его и передать ajax'у результат,если не передать сообщение 'Unavailable operation' (обозначим **)

ВОТ ТУТ И НАЧИТАЕТСЯ ПИПЕЦ!!!!
когда я проверил результат своей писанины - получил сообщение **
начал дебагинг:
1) проверил код - исправил все очевидные ошибки - не помогло - все равно выскакивает это-же сообщение
2) удалил код обработки запроса напрочь, т.е. оставил только:
if(isAjax())
{
exit;
}
все равно выскакивает это смс - **
3) перезагрузил все(кстати во всех браузерах это происходит) браузеры - без изменений
4) очистил все кеши....
5) перезагрузил компьютер.....
перепроверил все ссылки,все action формы...все...все....все...
все равно выскакивает это долбаное сообщение.....(alert(**))
ват да фак?!
что делать?!

Примечание:
$.ajaxSetup ({
// Disable caching of AJAX responses
cache: false
});
тоже не помогает

СПАСИБО!!!

Примечание:
ПС: использую локальный сервер open server

Примечание:
проверил на firebug'e - никаких сюрпризов....

Примечание:
holden321
продебагил я нормально и так и как угодно)))
...все-равно выскакивает этот алерт....
первый раз с этим сталкиваюсь
Ответы:
Вот эта хрень:
isAjax()
method_exists($model,$params['action'])
call_user_func(array($model,$params['action']),$params);
никак не связана с javascript или php, а скорее с фреймворком в котором вы работаете.
Странно как-то вы дебаггите.
ну сделали бы что-ли как-то так для начала:
if(isAjax()) echo 'isAjax';
else echo 'notAjax';
exit;
чтобы понять откуда проблема растет.
если ничего не появляется, значит POST перехватывается где-то раньше чем ваш код или проверяйте все заного.


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.