后台访问 JS解决跨域问题

今天看了看以前做的一个小项目(其实就是一个页面),分享一下当时解决跨域问题的:

背景:公司把项目部署在多台服务器上,防止一台服务器崩溃后,其他的可以继续访问,对应本公司来说,某台服务器出问题后,技术人员想很快的找到那台服务器解决问题,但是公网上是看不出哪台的,因为不管是几台服务器在后台,我们访问的都是同一个域名(例如:ww.baidu.com ,但是百度公司可能有N台服务器,当前可能是其中一台在工作,那怎样才能知道当前服务器的运行状态呢?

    我是这么解决的,在部署的项目中有一个页面叫 Ip.aspx,该页面的只要工作是输出其所在服务器信息,例如所在物理服务器IP号,数据库连接状态等,这些信息都是很容易获取的,另外还有一个页面叫IP_VIEW.aspx,这样在项目的配置文件中可以添加一个节点,记录的 是所有服务器的地址,例如有三台服务器 192.168.100.1;192.168.100.2;192.168.100.3;192.168.100.3,IP_VIEW 后台通过这些IP就可以不断的循环(例如一分钟)调取各个服务上 Ip.aspx页面的输出内容,然后把它们输出到IP_VIEW.aspx 前台界面上来,就可以看出各个服务器的运行状态了。

   但是问题来了,出于安全考虑J,avaSript不允许跨域访问,何为跨域,例如你不能通过运行在http://192.168.100.1/a.js 的js代码不能访问http://192.168.100.2/b.js 的对象,也就是说在本项目中,不能在前端页面中通过循环调用setInterval 方法去 结合  $.ajax({中的 url,直接访问Ip.aspx 页面,怎么干呢,把这项工作转移到后台,前端界面不断循环访问通过IP_VIEW.aspx 界面,,把具体的访问哪个IP服务器的Ip.aspx 这一动作结合结WebRequest ,HttpWebResponse 对象放到后台的CS代码中执行即可,不知道大家有没有什么更好的方法  分享学习一下

   

 

 

 

 

posted @ 2013-10-25 15:18  周周先生  阅读(1632)  评论(0编辑  收藏  举报