Почему бы не позвонить jQuery.post()
напрямую?
$.post("save.php",
$("#myform").serialize(),
function(html) {
$("#mydiv").append(html);
},
"html"
);
В отношении jQuery.ajax()
, изменение на type: "POST"
вместо method: "POST"
вызовет правильный POST
запрос:
$.ajax({
type: "POST",
url: "test.mhtml",
data: $("#myform").serialize(),
success: function(html){
$('#mydiv').html(html);
}
});
Это отображается в журналах Apache как:
::1 - - - [30/Oct/2009:09:44:42 -0700] "POST /test.php HTTP/1.1" 200 9 "http://localhost:10501/test.mhtml" "(sic)"
Возможный альтернативный выпуск:
Я нашел этот вопрос в StackOverflow , глядя на вашу проблему. Может быть, дело не в jQuery, а в PHP? Ответ, получивший наибольшее количество голосов, предлагает несколько советов по обеспечению того, чтобы PHP не мешал, а второй по значению ответ предлагает некоторый код, чтобы увидеть, является ли запрос на самом деле POST
или нет:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
echo 'POSTed';
}
?>