[英]Problem: pass some parameters in ajax call (post)
我有两个功能:一个添加,另一个删除。 我想重用相同的ajax调用来发送添加或删除的参数。 如何优化我的功能?
这是我目前的代码
jQuery(document).ready(function () {
function ajaxCall(action, callback) {
jQuery.ajax('/index.php', {
type: 'POST',
dataType: 'json',
data: {
option: 'quotes',
view: 'request',
task: action,
format: 'raw',
tmpl: 'component'
},
success: function (response) {
if (response.error == true) {
alert(response.errors.join('\n'));
}
else if (response.status == "DONE") {
callback(false);
}
},
error: function (xhr) {
console.log("Error: ", JSON.stringify(xhr));
callback(true);
}
});
}
jQuery('#ajax_add').click(function (event) {
event.stopPropagation();
var id = jQuery('#id').val();
var price = jQuery('#price').val();
//I want to send two variables: id, price
ajaxCall("addData", function (error) {
if (error) {
alert("Error!.");
}
else {
alert("It's OK!");
}
});
});
});
删除函数类似于“addData”函数,它也调用“ajaxCall”并发送参数进行删除。
卡住了,不知道怎么解决,希望大家帮帮忙,谢谢
您可以向ajaxCall函数添加一个新参数,并将参数作为对象发送,它们将它们与您在函数中的数据合并,例如:
function ajaxCall(action, params, callback) {
然后在 ajax 调用中:
jQuery.ajax('/index.php', {
type: 'POST',
dataType: 'json',
data: $.extend(params, {
option: 'quotes',
view: 'request',
task: action,
format: 'raw',
tmpl: 'component'
}),
...
事件内部的调用将类似于:
ajaxCall("addData", {id: id, price: price}, function (error) {
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.