[英]Submit single form to two actions with one button via ajax
在下面的代码中,您可以看到'$ _SERVER ['REQUEST_URI']''ContactCreate.php',这是我需要将单个表单发送到的两个操作。 我不确定如何才能使它正常工作。
谢谢大家
$(function() {
$("#myform").on("submit", function(e) {
e.preventDefault();
$.ajax({
url: '$_SERVER['REQUEST_URI']' 'ContactCreate.php',
type: 'POST',
data: $(this).serialize(),
beforeSend: function() {
$("#message").html("sending...");
},
success: function(data) {
$("#message").hide();
$("#response").html(data);
}
});
});
});
您将需要2个Ajax调用。 您可以等待两者都完成$.when
方法的使用并在那里执行通用逻辑
$(function() {
$("#myform").on("submit", function(e) {
e.preventDefault();
$("#message").html("sending...");
var formSerialized = $(this).serialize();
var ajaxCall1 = $.post('$_SERVER['REQUEST_URI']', formSerialized);
var ajaxCall2 = $.post('ContactCreate.php', formSerialized);
$.when( ajaxCall1, ajaxCall2).done(function (v1, v2) {
$("#message").hide();
// your logic when both ajax request finished
});
});
});
同样不确定$_SERVER['REQUEST_URI']
是否可以解析为Javascript上的任何内容,这取决于此代码的放置位置。
只需将其彼此相邻添加即可:
$(function() {
$("#myform").on("submit", function(e) {
e.preventDefault();
$.ajax({
url: '<?php echo $_SERVER['REQUEST_URI']; ?>' ,
type: 'POST',
data: $(this).serialize(),
beforeSend: function() {
$("#message").html("sending...");
},
success: function(data) {
$("#message").hide();
$("#response").html(data);
}
});
$.ajax({
url: 'ContactCreate.php',
type: 'POST',
data: $(this).serialize(),
beforeSend: function() {
$("#message").html("sending...");
},
success: function(data) {
$("#message").hide();
$("#response").html(data);
}
});
});
});
您必须使用REQUEST_URI的JS类似物
var request_uri = location.pathname + location.search;
在您的代码上-
$(function() { $("#myform").on("submit", function(e) { e.preventDefault(); $.ajax({ url: location.pathname + location.search+ 'ContactCreate.php', type: 'POST', data: $(this).serialize(), beforeSend: function() { $("#message").html("sending..."); }, success: function(data) { $("#message").hide(); $("#response").html(data); } }); }); });
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.