项目中有个上传图片需要实时预览的,但又是两个系统的访问,故想了一下解决方案:
在新系统中上传图片后处理设置session,旧系统跨域访问获取对应session,进行对应模板预览。
上传图片预览按钮对应按钮js:
$(".h_picSee").click(function(){
var elem = $(this).parents(".h_contentLi");
var flag = 0;
$(".h_picPic").find("input").each(function(i){
if($(this).val().trim()!==""){
flag = 1;
};
});
if(flag == 0)
{
art.dialog.alert('您还未上传任何网站模板图片,请先上传!');
return false;
}
var newTab=window.open('about:blank');
$.ajax({
type: 'POST',
url: '/user/bmtong/sitePreview',
dataType: 'json',
data: $('.picForm').serialize(),
success: function (result) {
if (result.errorcode) {
art.dialog.alert(result.errormsg);
}else{
newTab.location.href = result.data;
}
},
error: function () {
art.dialog({
content: '<span style="line-height:20px;">网络连接失败</span>',
lock:true,
okVal: '确定',
ok: true
});
}
});
return false;
});
2、新系统程序处理
public function sitePreview() { if(IClient::isAjax() == false) { Util::returnJsonMessage('非法操作', 1); } $arr = $_REQUEST; foreach ($arr as $k=>$v){ if($k=="PHPSESSID" || $k=="mid" || strpos($k,'Hm_') !== false){ unset($arr[$k]); }else{ ISafe::clear($k); ISafe::set($k, $v); } } $url = www.****.com/site_preview.htm"; Util::returnJsonMessage('', 0,$url); }
3.旧系统获取session,显示页面