При HTTP POST данные обычно отправляются с входов формы с enctype , установленным в application/x-www-form-urlencoded
формат.Таким образом, при использовании AJAX POST мы обычно отправляем данные также в этом формате, а не в виде параметра строки запроса, как обычно данные отправляются с запросом HTTP GET и как вы отправляете данные выше.
, еслиВы изменяете свой код на
function do_likes(post_id) {
$.ajax({
type: "POST",
url:"http://www.p-art.co.il/facebook_test/action.php",
data : { post_id : post_id }
});
}
, он должен работать должным образом (я не знаком с PHP, но я предполагаю, что размещаемый вами URL ожидает данные в формате application/x-www-form-urlencoded
).с помощью jQuery.ajax()
, если вы установите для объекта данных пары ключ / значение, которые вы хотите отправить на сервер, jQuery позаботится о предоставлении правильного enctype
для вас на основе запроса HTTPтип, который вы используете (вы можете переопределить enctype
, если необходимо, но обычно это не требуется, и значения по умолчанию будут такими, какие вам нужны в большинстве случаев).
Также вы можете установитьфункция обратного вызова, которая будет вызвана после успешного завершения сообщения AJAX.Для этого добавьте свойство success
к объекту, переданному в вызов * $.ajax()
.