Javascript 如何使用AJAX和POST方法提交数据
如何使用Javascript 如何使用AJAX和POST方法提交数据,javascript,php,ajax,wordpress,Javascript,Php,Ajax,Wordpress,如何使用Ajax发布以下表单。提交表单时,页面会刷新,我希望避免这种情况 <form method="post" action="" > <div class="rp-donation-block checkout_donation" > <p class="message"><strong><?php echo $this->get_setting('message'); ?></strong&g
Ajax
发布以下表单。提交表单时,页面会刷新,我希望避免这种情况
<form method="post" action="" >
<div class="rp-donation-block checkout_donation" >
<p class="message"><strong><?php echo $this->get_setting('message'); ?></strong></p>
<div class="input text">
<input type="text" value="<?php echo $amount; ?>" class="input-text text-donation" name="donation-amount">
<input type="submit" value="<?php echo $this->get_setting('btn_lable'); ?>" class="button" name="donate-btn">
</div>
</div>
</form>
使用Ajax
发布表单不是必须的。您也可以只需单击一个按钮即可编写一个Ajax
请求
$(function () {
$('#buttonId').on('click', function (e) {
$.ajax({
type: "POST",
cache: false,
url: <url_name>, //some php file where you may hit the database and want to modify content
data:{'post1': <post1value>,'post2': <post2value>},
datatype: "JSON", // can be html or text as well
success: function (data) {
var actualData = $.parseJSON(data); // if in case of JSON
}
});
});
});
另一方面,使用:
$post_1 = $_POST['post1'];
要获取post1
值。我假设您的表单元素的id为form
,因为您用来触发通过ajax post提交表单的事件的按钮不应该是submit类型!否则,此操作将始终失败。您实际尝试过什么吗?因为我们不是一个代码编写社区。我们将检查您的代码并帮助您解决问题。但我们不会编写您的代码。此外,要真正做到这一点,有太多的方法。有一些jQuery插件可以做到这一点,也许你想看看。我不是想说得卑鄙或其他什么。@CharlotteDunois我试过
,你需要为submit
上的属性提供一个javascript函数或小代码。取消表单提交或返回默认值false@epascarello如何在表单code上使用preventDefault
,谢谢!所以点击按钮我必须调用函数()
,什么是post1和post2
?很抱歉,我是一个新手如果你想在URL上发布任何数据,这样你就可以操纵它,那么你必须以这种方式传递它们。假设您正在进行登录表单身份验证,您需要传递用户名和密码以与数据库中的用户名和密码进行比较;在这种情况下,单击登录按钮时,您将传递这些值。希望它是清楚的。
$('#formId').on('submit', function (e) {
});
$post_1 = $_POST['post1'];
<script>
// Attach a submit handler to the form
$( "#form" ).submit(function( event ) {
// Stop form from submitting normally
event.preventDefault();
// Get some values from elements on the page:
var $form = $( this ),
donate_amount = $form.find( "input[name='donation-amount']" ).val(),
url = $form.attr( "action" );
// Send the data using post
var posting = $.post( url, { amount: donate_amount } );
// Put the results in message div
posting.done(function( data ) {
var message_returned = $( data ).find( "#message" ); //hope your are returning message, also you can return other things like message type and create message on frontend as accordingly
$( ".message" ).empty().append( message_returned ); //adding returned message to your message div
});
});
</script>