дубль
$.ajax({
type: "POST",
url: action,
data: formData,
dataType: "html",
success: function(msg){
alert('23');
}
});
и добавьте
error: function(error) {
console.log("an error", error);
}
используя firebug.
может отправлять правильно, но не может получить действительный ответ.
Используя firebug, вы можете отслеживать запросы, поступающие и возвращающиеся с сервера, чтобы убедиться, что вы получаете то, что ожидаете, и что код состояния - 200 на вкладке Сеть. Console.log также выведет ответ об ошибке в представлении консоли.