关于前后端调试的问题
来源:4-13 前后端联调验证整体模块功能
慕仙8394361
2019-04-22
我重复提问了,请老师只看我着一次提问就好,不好意思。
老师好,我在前后端联调这一部分遇到了问题,具体情况如下:
在之前的所有测试都能正常通过的基础上,我在谷歌浏览器上填写完信息后点击提交按钮,没有任何反应出现,也不报错,验证码也不会进行更换,直接点击验证码是可以更换的。
之前试了几次还会报错:
错误信息:Unable to preventDefault inside passive event listener due to target being treated as passive.
现在连错误也不报了。
已经在这个问题上停了好几天了。
代码应该没有问题,我已经检查很多遍了,之前遇到问题都是百度解决,这次实在是摸不着头脑。请老师抽空给我答疑,谢谢!
写回答
1回答
-
同学好,首先需要同学把断点分别设置在chrome的开发者模式下的js代码里面,以及Eclipse debug模式下对应后端的controller代码,这里是
前端
formData.append('verifyCodeActual',verifyCodeActual);
后端
private Map<String, Object> registerShop(HttpServletRequest request) { Map<String, Object> modelMap = new HashMap<String, Object>();
之后点击按钮提交,前端chrome调试会停在formData,然后fn + f8,如果到后台 eclipse就能到这个modelMap断点,之后就逐步调试,到觉得要让它返回前端,
在前端chrome对应的代码
这里是
if(data.success){ $.toast('提交成功!');
if这里设置,然后后端fn + f8 跳过所有后端断点,就会来到前端这里
但是如果没进去到后端或者没回来到前端,那么就是因为前后端不符合规范导致的,此时就需要在ajax里面,添加error的判断
$.ajax({ url : registerShopUrl, type : 'POST', data : formData, contentType : false, processData : false, cache : false, success : function(data){ if(data.success){ $.toast('提交成功!'); }else{ $.toast('提交失败!' + data.errMsg); } $('#captcha_img').click(); }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(XMLHttpRequest.status); alert(XMLHttpRequest.readyState); alert(textStatus); } });
打印error看看报了什么错,然后百度一下(记得修改后清空页面缓存)
012019-04-23
相似问题