Ajax跨域post解决方案
最近在做一个Forum的API给其他产品调用,允许其他产品(和Forum不同域)显示Forum指定主题的post并可回复。
客户要求用Ajax来做,这就涉及到Ajax跨域的问题。
产品中已经在用jquery,我们理所当然地用$.getJSON()来实现了。
但测试发现一个问题:
(»阅读全文…)
最近在做一个Forum的API给其他产品调用,允许其他产品(和Forum不同域)显示Forum指定主题的post并可回复。
客户要求用Ajax来做,这就涉及到Ajax跨域的问题。
产品中已经在用jquery,我们理所当然地用$.getJSON()来实现了。
但测试发现一个问题:
(»阅读全文…)
最近一投票项目中需要做身份验证,用户需要填写有效身份证号和手机号才能完成投票。
这两条信息都是唯一的,且验证后就不能更改。
用户登陆后,这些信息会存在于同一个cookie中(当然都是加密过的)。
页面加载后js中有两个变量分别记录身份证和手机号是否已通过验证,
用户点击投票提交按钮时,js判断两个信息是否都已验证,若都未验证则(弹出层)要求用户同时填写身份证和手机号,若其中一条未验证则要求输入该条信息,否则直接提交投票。
这两条信息填写完都以ajax方式提交到后台,避免浏览器刷新带来的不良体验(如选好的投票信息丢失,用户需重投)。
后台有两个api分别响应身份证和手机号的提交,验证成功则写入数据库同时修改现有cookie信息,并返回该条记录的验证结果给前台,如果结果是“真”则前台赋值对应变量为“真”,同时判断另一变量是否亦为“真”,两条都为“真”时则提交投票。
提交单条信息的情况比较简单,若两条都未通过验证则同时发起两个ajax请求。
貌似这样应该不会出问题了,而且也确实能正常提交投票了。
但是,问题来了:
投票完,返回要继续投票时,还是提示其中一条信息(一般是前一条)未验证,而且再次填写并提交时通不过验证,因为数据库已经存在该记录且不允许修改。
为什么呢?
(»阅读全文…)