有没有办法编辑一个$.ajax函数,包括专有的“数据”,当她收到任何值,并删除她,当没有?我是说,动态的?例如:
当变量有一个值时:
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 但似乎什么都不起作用。发送空的"data“属性的唯一方法是完全删除它。因此,除了创建两个不同的函数,一个有"data“属性,另一个没有她,有什么解决方案吗?
感谢大家的关注。
发布于 2016-07-20 14:49:15
因为它们都是对象,所以可以使用jQuery.extend()扩展options对象。
如下所示:
var parametro = {
id: "1"
};
var defaults = {
type: "POST",
url: url,
async: async,
...
};
var options = $.extend(defaults, parametro);
$.ajax(options);链接:
发布于 2016-07-20 14:46:21
据我所知,我建议将if条件放在$.ajax之外,比如
if(parametro){
$.ajax({
type: "POST",
url: url,
data: parametro ,
async: async,
...
});
}else{
$.ajax({
type: "POST",
url: url,
async: async,
...
}发布于 2016-07-20 14:47:09
试试这种方式,
if(parametro)
{
$.ajax({
type: "POST",
url: url,
data: parametro,
async: false,
});
}如果没有数据,那么我认为不需要进行ajax调用。
https://stackoverflow.com/questions/38469634
复制相似问题