ajax方式校验return false后代码仍然执行

$.ajaxSettings.async = false;
$.get("{% url 'user:checkdep'  %}" + '?depname='+$('#depname').val(), function(result){
    if(result.res){
        alert("区域名称已存在,请重新输入");
        return false;
    };
});
alert('仍然执行这里');

原因是不能在ajax的回调里return false。解决方法是在全局中定义变量flag,回调中改变flag,然后再在ajax外部根据flag决定是否return false

var flag=true;
$.ajaxSettings.async = false;
$.get("{% url 'user:checkdep'  %}" + '?depname='+$('#depname').val(), function(result){
    flag=result.res
});
if(flag){
  alert("xxxxxxx");
  return false;
}

原文链接:https://www.cnblogs.com/dayongge/p/13408980.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个使用ajax校验手机号是否已注册的demo,前提是需要有一个后端接口返回手机号是否已被注册。 HTML代码: ``` <form> <label for="phone">手机号:</label> <input type="text" id="phone" name="phone" required> <div id="phone-error" class="error"></div> <button type="submit">提交</button> </form> ``` JavaScript代码: ``` $(document).ready(function() { // 监听表单提交事件 $('form').submit(function(event) { event.preventDefault(); // 阻止表单默认提交行为 // 获取表单数据 var phone = $('#phone').val(); // 发送ajax请求 $.ajax({ url: '/check_phone', // 后端接口地址 type: 'POST', dataType: 'json', data: { phone: phone }, success: function(data) { if (data.is_registered) { // 手机号已被注册 $('#phone-error').text('手机号已被注册'); } else { // 手机号未被注册,可以提交表单 $('form')[0].submit(); } }, error: function(xhr, status, error) { // ajax请求失败 console.log('ajax请求失败:', error); } }); }); }); ``` 在后端接口,可以从请求参数获取手机号,然后查询数据库是否已有该手机号的记录,再将查询结果返回给前端。注意要返回一个JSON格式的数据,示例代码如下: ``` from flask import Flask, request, jsonify app = Flask(__name__) @app.route('/check_phone', methods=['POST']) def check_phone(): phone = request.form.get('phone') is_registered = False # 假设手机号未被注册 # TODO: 查询数据库是否已有该手机号的记录 # 如果已有记录,则将 is_registered 设置为 True return jsonify({'is_registered': is_registered}) ``` 以上代码仅供参考,实际使用时需要根据具体情况进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值