zoukankan      html  css  js  c++  java
  • php jsonp跨域访问

    项目中有个上传图片需要实时预览的,但又是两个系统的访问,故想了一下解决方案:

    在新系统中上传图片后处理设置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,显示页面

  • 相关阅读:
    从零开始学习OpenCL开发(一)架构
    Android平台利用OpenCL框架实现并行开发初试
    g++ error: expected nested-name-specifier before 'XXX'
    Linux命令之xargs的分析及隐患
    Linux目录结构
    Linux系统目录/bin /sbin /usr/bin /usr/sbin和/lib /usrlib的一些分析
    rpm包制作
    git与svn的使用比较
    SVN的错误: working copy locked
    Linux远程桌面
  • 原文地址:https://www.cnblogs.com/Dong-Ge/p/6708058.html
Copyright © 2011-2022 走看看