2014-01-25 3 views
-2

У меня есть скрипт PHP, вызываемый вызовом AJAX, вызванным щелчком ссылки. Обычно я просто использую форму и передаю все данные формы в свои PHP-скрипты, но я хотел бы вручную отправлять данные POST через мой AJAX, поэтому я могу избежать использования формы. Как я могу это сделать?Отправка данных POST в AJAX без формы

Мой JQuery/AJAX:

$(".likes-count a").click(function() { 

    var post= $(this).parents(".post-bottom").find('.comment-input').val(); 
    // this value is from another form, this is the value that I need in my PHP script 

    // grabs and updates the comment count 
    $.ajax({ 
     type: "POST", 
     url: "myscript.php", 
     data: 'post-id' : post, // This is what I have tried so far 
     success: function(html) { 
      alert(html); 
     } 
    }); 

}); 
+0

возможный дубликат [JQuery - $ .ajax POST не отправляет .data на веб-сервер] (http://stackoverflow.com/questions/5596341/jquery-ajax-post-does-not-send-data-to-web-server) –

ответ

3

Я думаю, что вы ищете это:

$.ajax({ 
    type: "POST", 
    url: "myscript.php", 
    data: {'post-id':post}, //notice curly braces 
    success: function(html) { 
     alert(html); 
    } 
}); 

Если вы хотите отправить несколько параметров, вы можете отправить их через запятую:

data: {'post-id':post,'param2':'param2Value'}, 
+1

Не забудьте «вернуть false» после вызова AJAX. – Deryck

+0

@Deryck Спасибо за примечание. Да 'return false;' будет необходимо, но после 'ajax' и до завершения функции. – Bhushan

0

Попробуйте следующее:

$.ajax({ 
    type: "POST", 
    url: "myscript.php", 
    data: {post-id:post,article:nextvalue}, 
    success: function(html) { 
     alert(html); 
    } 
}); 
0

Я думаю, что ваш код просто отлично, но изменить это

data: 'post-id' : post

этой

data: {'post-id':post}

Вот именно ...

Смежные вопросы