JS跨域问题解决方案

2 篇文章 0 订阅

这个问题弄了好久 一定要记下来

一般用ajax是不可能实现跨域问题的

这里就要用到 标签属性src=""

任何有src属性的标签 都可以跨域调用令一个域的后台

想src=http://i.joysys.com/index.aspx  就可以调用 i.joysys.com的index.aspx 页面了

但是虽然调用了  却做出返回 这就有看index.aspx页面的了

在index.aspx页面中 用

Response.Write("");

就可以做出输出 也就是返回啦

当然这跟标签有关系

比如你用 <script src=""> 标签的话

你在 index.aspx中 输出js语句

Response.Write("alert(‘返回’)");

这样 这段js是可以被执行的

 

但是 两个域的 js 变量 是不可以互用的 (至少 目前我测试时没有通过的)

 

这样要是 就需要返回一个值怎么办呢

我苦思冥想 也参考了别人的一些资料

 终于被我发现 用 js 

 var im =  new Image;

 im.src = "index.aspx";

 

 这样调用时有效果的

在index.aspx 页面做出

 

 

 

using System.Drawing;//基本绘图
using System.Drawing.Imaging;//处理图像

    private void outWidth(int width, int hen)
    {
        Bitmap image = new Bitmap(width, hen);//定义图像

        try
        {

            //输出图像
            MemoryStream ms = new MemoryStream();
            image.Save(ms, ImageFormat.Gif);//将图片保存到指定流
            Response.ClearContent();//清楚缓冲区的流
            Response.ContentType = "imge.Gif";//配置输出类型
            Response.BinaryWrite(ms.ToArray());//输出内容
        }
        finally
        {
            image.Dispose();
        }
    }

 

输出一个图片

 

 

 

这个从这个中图片 你看到什么呢

哈哈

其实我是想利用这个的 width 

 

当调用后 得到图片width 为 0  做相应操作

width 为 1  做相应操作

 

 

 

当然 如果单是这样调用的话

index.aspx 只是执行一次

当你要不停的 读后台  不停的刷新的时候你可能会想用到

window.setInterval(); 来时时调用就好了吗

答案是 NO~~~~~!!!!!!!!!!!!!!!!!!

这个问题ajax同样适用~~!

当src="index.aspx"值与上一次相同的话  将不执行 index.aspx 页面

直接返回上一次 执行的结果  。。。这可能是为了 不让服务器承受太大压力  所做的

但是 没关系  这怎么能难倒我呢 哼哼~~!

src="index.aspx?ids="+new Date().getTime();

这样的话  每次调用的值就都不同了 ~

index.aspx 每次都可以执行了

 

 

 

 

这样就成功解决了 跨域问题       哈哈哈哈

 

第一次处理完这种 我没有遇到过的 高技术的问题

弄了好久呀  不过这都是值得的   谢谢来看我博客的朋友    记得评论一下 呵呵 谢谢了

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值