前端测试报错,代码检查了没问题,百度了一下发现有个人也遇到这个问题
来源:4-13 前后端联调验证整体模块功能

Cris_hu
2018-04-19
我遇到的问题和这个链接类似https://q.cnblogs.com/q/64741/,是谷歌的zepto错误,错误发生在ajax里:
$.ajax({
url:registerShopUrl,
type:'POST',
data:formData,
contentType:false,
processDate:false,
cache:false,
success:function(data){
if(data.success){
$.toast('提交成功!');
}else{
$.toast('提交失败'+ data.errMsg);
}
$('#captcha_img').click();
}
});
执行到ajax随即出错,错误信息 Uncaught TypeError: Illegal invocation zepto.min.js:2
2回答
-
克里斯同学,我们找问题得先从自己这块找起,特别是遇到zepto之类的第三方插件报错,基本99%情况都是自己写的不符合他们的规范,视频里面也是没有错误的,程序说一是一
// 提交按钮的事件响应,分别对店铺注册和编辑操作做不同响应 $('#submit').click(function() { // 创建shop对象 var shop = {}; // 获取表单里的数据并填充进对应的店铺属性中 shop.shopName = $('#shop-name').val(); shop.shopAddr = $('#shop-addr').val(); shop.phone = $('#shop-phone').val(); shop.shopDesc = $('#shop-desc').val(); // 选择选定好的店铺类别 shop.shopCategory = { shopCategoryId : $('#shop-category').find('option').not(function() { return !this.selected; }).data('id') }; // 选择选定好的区域信息 shop.area = { areaId : $('#area').find('option').not(function() { return !this.selected; }).data('id') }; // 获取上传的图片文件流 var shopImg = $('#shop-img')[0].files[0]; // 生成表单对象,用于接收参数并传递给后台 var formData = new FormData(); // 添加图片流进表单对象里 formData.append('shopImg', shopImg); // 将shop json对象转成字符流保存至表单对象key为shopStr的的键值对里 formData.append('shopStr', JSON.stringify(shop)); // 获取表单里输入的验证码 var verifyCodeActual = $('#j_captcha').val(); if (!verifyCodeActual) { $.toast('请输入验证码!'); return; } formData.append('verifyCodeActual', verifyCodeActual); // 将数据提交至后台处理相关操作 $.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(); } }); });
html里
<script type='text/javascript' src='//g.alicdn.com/sj/lib/zepto/zepto.min.js' charset='utf-8'></script> <script type='text/javascript' src='//g.alicdn.com/msui/sm/0.6.2/js/sm.min.js' charset='utf-8'></script> <script type='text/javascript' src='//g.alicdn.com/msui/sm/0.6.2/js/sm-extend.min.js' charset='utf-8'></script> <script type='text/javascript' src='../resources/js/common/common.js' charset='utf-8'></script> <script type='text/javascript' src='../resources/js/shop/shopoperation.js' charset='utf-8'></script>
同学可以先行比较一下,或者复制粘贴,解决了就和原来对比下,看看错在哪里。平时白天我都在上班,有什么问题可以再群里问问同学
072018-04-20 -
Cris_hu
提问者
2018-04-19
$('#submit').click(function()
{
var shop={};
shop.shopName=$('#shop-name').val();
shop.shopAddr=$('#shop-addr').val();
shop.phone=$('#shop-phone').val();
shop.shopInfo=$('#shop-info').val();
shop.shopCategory={
shopCategoryId:$('#shop-category').find('option').not(function()
{
return !this.selected;
}).data('id')
};
shop.area={
areaId:$('#area').find('option').not(function(){
return !this.selected;
}).data('id')
};
var shopImg=$('#shop-img')[0].files[0];//
var formData=new FormData();
formData.append('shopImg',shopImg);
formData.append('shopStr',JSON.stringify(shop));
var varifyCodeActual=$('#j_captcha').val();
if(!varifyCodeActual){
$.toast('请输入验证码!');
return
}
formData.append('varifyCodeActual',varifyCodeActual);
$.ajax({
url:registerShopUrl,
type:'POST',
data:formData,
contentType:false,
processDate:false,
cache:false,
success:function(data){
if(data.success){
$.toast('提交成功!');
}else{
$.toast('提交失败'+ data.errMsg);
}
$('#captcha_img').click();
}
});
});
00
相似问题