一、常见报错
1、 404错误,网页代码错误。问题可能是:
- 单词没有拼写对、
- 流程语句逻辑有问题、
- 路径有问题。
2、 500错误,后台代码错误。问题可能是:
- 实体类和数据库表单字段属性不对应、
- sql语句传输错误(少“ ' ”符号,或者“ ,”符号,或者语句关键词打错)。
- $.ajax函数里,注意url,type,data,dataType的大小写规范,dataType!!注意
3、EF外键引起的序列化问题
经过反复的查阅,发现问题出在序列化时,由于D层一个表和另一个表示一对多关系,当序列化表1的时候,会找到和另一个表2关联的字段,就会到另一个表2中序列化,然后另一个表2也有一个字段和表1相关联,所以序列化发生错误。
- 解决方法一:blog.csdn.net/cy520ta/art…
- 解决方法二:建一个实体类,只写需要的字段
二、在登录验证时的传参问题
1、关于汉字的编码解码escape 与 unescape的使用
- escape
var name1 = escape(name);//对文字经行编码
location.href="1.html?name="+name1;//传输编码后的文字
- unescape
var name = location.search;//获取要检测的字符串
var name1 = name.substr(string.indexof('=')+1);//截取=号下一个 下标的字符串
var name2 = unescape(name1);//解码
三、反序列化碰到的问题
1、jQurey选择器中,使用属性选择器时,$("input[type='checkbox']"),input后面不能有空格,否则会被当成后代选择器
2、在传对象时
- 数组要ToString()转换为字符串;
- data里json对象要JSON.stringify(obj)转化为字符串
四、全球唯一标识符问题
1、需要转义字符\'来转义单引号
- 单删时:不转义没法给事件传参,但是接受到的是没有‘’的字符串,让新的变量接受到的是带引号的全球唯一标识符
'<td><input id="Button1" type="button" value="删除" onclick="del(\'' + this.id + '\')" /></td>''
var id = "\'" + id + "\'";
- 批删时:用数组来存值,转字符串时,会自动有,号隔开,而且id来自chexcbox的value,由于不是给事件传参,所以得到的是带‘’的字符串
'<td><input name="ck" type ="checkbox" value="\''+ this.id+'\'"/> </td>'