[英]cancel ajax success function from inside ajaxSuccess event
我有一个全局ajaxSuccess
事件和一个附加到 ajax 请求的本地success
函数。
如果响应中的全局 find status = false
,我想取消success
功能。
像这样
$(document).ajaxSuccess(function (event, xhr) {
let result = xhr.responseJSON;
if (result.status === false) {
//here the ajax should be stopped, I don't want to call the local functio
}
}
$.ajax(url, {
'method': method,
'success': function () {
//success function to call if the global ajaxSuccess is ok
}
})
这可以实现吗?
这将使您深入了解您可能正在寻找的内容。 您将需要在 json 中返回后端数据。
为什么不将状态设置为某些值例如。 false= 0和true = 1 。 然后,您可以根据从 PHP 后端的此示例中的后端返回的值打印成功或失败。
这里发送一个值为test_ok的 post 变量。 如果值为test_ok则警报成功,否则警报失败并停止进一步操作
<script>
$(document).ready(function(){
var test ='test_ok';
var datasend = "test="+ test;
$.ajax({
type:'POST',
url:'test.php',
data:datasend,
crossDomain: true,
cache:false,
success:function(result){
$('#result').fadeIn('slow').prepend(msg);
if (result.status ==0) {
alert('failed');
return false;
}
if (result.status == 1) {
alert('success');
}
}
});
});
</script>
测试文件
<?php
$test = $_POST['test'];
$output = array();
if($test == "test_ok"){
$output[] = array(
"status" => '1'
);
}
if($test != "test_ok"){
$output[] = array(
"status" => '0'
);
}
echo json_encode($output);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.