有任何方法可以编辑$ .ajax功能,包括所有权"数据",当她收到任何价值时,并删除她,当有'不是吗?我的意思是,动态? e.g:
当变量有值时:
var parametro = "{id: "1"}";
$.ajax({
type: "POST",
url: url,
data: parametro ,
async: async,
...
如果没有变量,或者对她没有任何价值:
var parametro = "";
$.ajax({
type: "POST",
url: url,
async: async,
...
所以,我的想法是这样的:
$.ajax({
type: "POST",
url: url,
if(parametro)
{
data: parametro,
},
async: async,
...
我尝试了其他类似的东西:
data: undefined
data: ""
data: null
但似乎没有任何效果。发送空数据的唯一方法是#34;属性,它是完全删除它。因此,除了创建两个不同的功能,一个带有"数据"财产,没有她的另一个,有任何解决方案吗?
谢谢大家的关注。
答案 0 :(得分:1)
因为它们都是对象,所以可以使用jQuery.extend()
来扩展选项对象。
像这样:
var parametro = {
id: "1"
};
var defaults = {
type: "POST",
url: url,
async: async,
...
};
var options = $.extend(defaults, parametro);
$.ajax(options);
链接:
答案 1 :(得分:0)
据我所知
我建议将if条件放在$.ajax
之外,例如
if(parametro){
$.ajax({
type: "POST",
url: url,
data: parametro ,
async: async,
...
});
}else{
$.ajax({
type: "POST",
url: url,
async: async,
...
}
答案 2 :(得分:0)
试试这种方式,
if(parametro)
{
$.ajax({
type: "POST",
url: url,
data: parametro,
async: false,
});
}
如果没有数据则不需要进行ajax调用,我认为。