关于前后端调试的问题

来源:4-13 前后端联调验证整体模块功能

慕仙8394361

2019-04-22

我重复提问了,请老师只看我着一次提问就好,不好意思。

老师好,我在前后端联调这一部分遇到了问题,具体情况如下:

在之前的所有测试都能正常通过的基础上,我在谷歌浏览器上填写完信息后点击提交按钮,没有任何反应出现,也不报错,验证码也不会进行更换,直接点击验证码是可以更换的。

之前试了几次还会报错:
错误信息:Unable to preventDefault inside passive event listener due to target being treated as passive.
现在连错误也不报了。
已经在这个问题上停了好几天了。

代码应该没有问题,我已经检查很多遍了,之前遇到问题都是百度解决,这次实在是摸不着头脑。请老师抽空给我答疑,谢谢!

写回答

1回答

翔仔

2019-04-23

同学好,首先需要同学把断点分别设置在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看看报了什么错,然后百度一下(记得修改后清空页面缓存)

0
1
慕仙8394361
非常感谢!
2019-04-23
共1条回复

Java双版本(SSM到SpringBoot)校园商铺全栈开发

SSM商铺V1.0,解决毕设痛点;SpringBoot商铺V2.0,满足工作刚需

5113 学习 · 8144 问题

查看课程