使JQuery ajax请求成为有条件的
Making a JQuery ajax request conditional
如果不满足某些先决条件,我想跳过所有这段代码,但我也想在函数的括号之间移动所有代码。允许吗?我不明白这种语法是怎么工作的。
$.ajax({
type: "POST",
url: urlAppend,
data: JSON.stringify(xxx),
contentType: "application/json; charset=utf-8",
dataType: "json",
processdata: false,
success: function (result) {
if (canceled) {
return;
}
//Long code
}
//Long code 2
},
error: function (request, error) {
alert('ppp');
}
});
将$.ajax
调用放入函数中,然后将对该函数的调用封装在条件表达式中:
function makeRequest(){
$.ajax( ... )
}
if ( some_condition ){
makeRequest();
}
请记住,您在AJAX回调中使用了一些变量(即canceled
变量)。您必须使该变量可用于函数。
function doComplexStuff(){
}
$.ajax({
type: "POST",
url: urlAppend,
data: JSON.stringify(xxx),
contentType: "application/json; charset=utf-8",
dataType: "json",
processdata: false,
success: doComplexStuff,
error: function (request, error) {
alert('ppp');
}
});
doComplexStuff
将自动接收成功函数接收到的所有参数。
看看这个例子:
function callAjax(condition) {
if (condition) {
$.ajax({
type: "POST",
url: urlAppend,
data: JSON.stringify(xxx),
contentType: "application/json; charset=utf-8",
dataType: "json",
processdata: false,
success: function (result) {
if (canceled) {
return;
}
//Long code
}
//Long code 2
},
error: function (request, error) {
alert('ppp');
}
});
}
}
// Somewhere in your code
callAjax(condition);
试试这个:
function runAjax(params){
$.ajax({
type: params["post"],
url: params["url"],
data: params["data"],
contentType: params["content_type"],
dataType: params["json"],
processdata: params["process_bool"],
success: function (result) {
if (params["canceled"]) {
return;
}
//Long code
}
//Long code 2
},
error: function (request, error) {
alert('ppp');
}
});
}
if(condition){
var options = {
//set options here
};
runAjax(options);
}
相关文章:
- 通过js在新选项卡中有条件地打开url
- jQuery-有条件地附加HTML
- 有条件更新d3.js力图中节点的最佳方法
- Woocommerce产品选项有条件
- 有条件地在选项标记中应用布尔属性
- ADF:有条件地加载javascript资源
- 如何有条件地更改角度中的orderBy参数
- 无法在有条件呈现的富:面板上提交h:form
- 有条件地与react路由器链接
- 有条件地运行javascript函数-Razor,HTML
- 如何使用图表包装函数有条件地格式化谷歌可视化表单元格
- CSS根据属性的可用性有条件地应用样式
- 将字段设置为有条件地使用所需的字段验证器
- 将https替换为有条件的锚标记Javascript
- JavaScript while循环没有'不能在有条件的情况下工作
- 如何用d3有条件地移除元素
- 有条件刷新页面-如何设置引用人
- 有条件地创建ajax url参数以与jQuery Validate一起使用
- 使JQuery ajax请求成为有条件的
- 避免向服务器发出有条件的请求