AJAX响应IF条件判断求助:content为false时调用popupSubmit
AJAX回调逻辑错误修正与测试方法
代码中的核心错误
误用
$.each遍历单个对象
你的JSON响应是单个对象(不是数组或对象集合),$.each会遍历对象的每个键名(比如id、content),此时循环参数i是键名字符串,i.content必然是undefined,根本无法正确判断目标字段值。字段访问方式错误
不需要循环,直接通过response.content就能读取到目标字段的值。
修正后的代码
var checkID = $('#id-no').val(); var getDomainName = window.location.origin; $.ajax({ url: getDomainName + '/.rest/stripe/v1/checkID?id=' + checkID, type: 'GET', dataType: 'json', success: function success(response) { // 打印content值用于调试 console.log(response.content); // 用严格相等===避免类型隐式转换问题 if (response.content === 'false') { popupSubmit(); } } });
测试方法
- 模拟
content='false'场景:- 临时修改后端接口的返回数据,将
content设为"false"; - 或者用浏览器开发者工具拦截网络请求(比如Chrome DevTools的Network面板,找到目标请求后右键选择「Modify and Resend」),修改响应的JSON内容后重新发送,观察
popupSubmit是否被调用。
- 临时修改后端接口的返回数据,将
- 调试技巧:在success回调里添加
console.log(response),可以在控制台查看完整的响应结构,确认字段是否正确返回。
内容的提问来源于stack exchange,提问作者WTE
相关产品推荐
相关产品推荐

