使用原因:最近一段时间在做作品投票的东西,在后台通过SESSION限制上传频率,前端上传图片的时候是使用Jquery.from.js这个插件使用了ajaxSubmit这个方法提交的,遇到SESSION限制不起效的问题,查了半天,才发现SESSION没起作用,后面检查配置文件和SESSION是否开启都没问题,看了看包头信息,没传cookie,导致sessionid没传到,找了下资料,需要把AjaxSubmit的提交方式改为iframe:true的方式,这样得到了cookie下的sessionid,但是还需要在PHP页面返回声明domain和回调。
upload.js关键代码 $('form#submit_form').ajaxSubmit({ iframe: true }); document.domain = 'xxx.com'; //与PHP返回的域名一致 var upload_callback = function(data) { console.log(data); }
Api.PHP关键代码 return "<script>document.domain='xxx.com';parent.upload_callback($data)</script>"; //返回声明domain和parent调用iframe上一级也就是upload.js的upload_callback函数