我编写了一个 AJAX 函数代码,如下所示:
$('#form').submit(function(e) {
var form = $(this);
var formdata = false;
if(window.FormData) {
formdata = new FormData(form[0]);
}
var formAction = form.attr('action');
$.ajax({
type : 'POST',
url : 'manufacturers.php',
cache : false,
data : formdata ? formdata : form.serialize(),
contentType : false,
processData : false,
success: function(response) {
if(response != 'error') {
//$('#messages').addClass('alert alert-success').text(response);
// OP requested to close the modal
$('#myModal').modal('hide');
} else {
$('#messages').addClass('alert alert-danger').text(response);
}
}
});
e.preventDefault();
});
现在,在数据属性中,我想发送一些带有数据属性值的附加参数。我应该如何将这些参数发送到 PHP 文件?
为了清楚地理解我的问题,请参阅我之前编写的以下 AJAX 函数代码:
function GetPaymentRequest(status){
var status = $('#status_filter').val();
$.ajax({
type: "POST",
url: "view_payment_request.php",
data: {'op':'payment_request_by_status','request_status':status},
success: function(data) {
// alert(data);
}
});
}
在上面的函数代码中,您可以看到我传递了一些带有值的参数,即。数据属性中的'op':' payment_request_by_status','request_status':status。
与我想要在第一个 AJAX 函数代码中传递的参数完全相同。已经提到的参数“formdata ? formdata : form.serialize()”也应该在那里。
我应该怎么做?有人可以在这方面帮助我吗?
提前致谢。
最佳答案
使用 $.param 添加
form.serialize() + '&' + $.param({'op':'payment_request_by_status','request_status':status});
或使用serializeArray()
并推送新项目
var data = form.serializeArray();
data.push({name:'op',value:'payment_request_by_status'}).push({name:'request_status',value:status});
然后传递数据
关于javascript - 在以下场景中如何在 $.ajax() 函数的 data 属性中发送参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26272140/