易截截图软件、单文件、免安装、纯绿色、仅160KB

Ajax通过代理跨域访问

    Ajax调用远程服务器数据会出现拒绝访问的问题。这是因为基于安全的考虑,AJAX只能访问本域下的资源,而不能跨域访问。也就是说,domain1.com站点中的AJAX只能访问domain1.com站点下的资源,而不能跨域访问domain2.com站点中的资源,这就是AJAX跨域问题。
    解决思路:页面在提交请求时,浏览器会进行Form身份验证(Form即为表单,每个页面都有一个Form标签),像不同域数据的获取就被认为是不安全的,所以拒绝访问。解决思路就是通过这个Form身份验证,或绕过身份验证。
    解决AJAX跨域问题有几种方法,这里我们只讨论最常用的一种方法---使用AJAX代理解决AJAX跨域问题。
即在domain1.com站点中使用动态网页(ASP,PHP,JSP等)作为代理页面读取domain2.com站点中的资源,
然后在domain1.com站点中使用AJAX读取本域下的代理页面。
    举例说明(以asp.net为例):页面a.aspx在域domain1.com中,页面b.aspx在域domain2.com中,a.aspx通过ajax请求b.aspx数据
则为跨域。在域domain1.com放置代理页面temp.aspx,那么a.aspx访问temp.aspx就是同一域了。而temp.aspx再去访问b.aspx返回数据给a.aspx,这样问题是不是已经解决了呢,temp.aspx访问b.aspx不也是跨域访问吗?
    这就是重点:a.aspx访问temp.aspx发送请求时已通过Form身份验证了,请求已到达服务器端,而temp.aspx在服务器端访问获取b.aspx的数据则不存在Form身份验证,所以代理页面temp.aspx代码应该运行在服务器端,也就是将获取数据的代码写到temp.cs当中即可。
示例(部分重要源码):
1、域domain1.com中的a.aspx通过Ajax请求代理页面NetProxy.aspx(有参数与无参数的两种请求方法)
// ajax异步调用Webservice
function Call(flag)
{


// 用http Post方法实现调用
if(true==flag)
{
// 可取相对地址与绝对地址(webService所在的地址)
var url = "../AjaxProxy/NetProxy.aspx?flag=1&f=setDivContent";
request.open("POST",url, false);
request.setRequestHeader ("Content-Type","application/x-www-form-urlencoded");
request.setRequestHeader ("Content-Length",2); // 2即为参数的个数


相关文档:

ajax 二级联动

function CreateXmlHttp()
{
if(window.ActiveXObject)
{
try
{
XmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e){};

try
{
XmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e){};

}
else if(window.XMLHt ......

AJAX.MVC框架设计陈述 1)AJAX交互设计

前后端的交互是整个框架的中心,我希望从流的角度来设计AJAX的交互
AJAX的设计将横贯前后端
前端是主动
后端是被动
整体考虑的话 前后端使用一个统一的接口进行AJAX交互
后端 用一个唯一的URL来处理 AJAX请求
接口名称     处理接口:[http://域名/mvc.ajax]  封装所有的AJAX请求的预处理
......

基本的ajax脚本


var xmlhttp;

function verify()
{
   //2.创建XmlHttpRequest对象
   //这是XmlHttpRequest对象五步中使用最复杂的一步
   //需要针对IE和其他类型的浏览器建立这个对象的不同方式写不同的代码
   if(window.XMLHttpRequest)
   {
  ......

WCF中的服务和ASP.NET AJAX中的WebService

WCF的架构:using System.ServiceModel;
契约:Contract
[ServiceContract]
public partial interface IContract
{
        [OperationContract]
        string DocumentWebHostUrl();
}
服务:Service
[ServiceBehavior(IncludeException ......

类ajax jsp 无刷新上传文件


  首先要说的就是 ajax 是无法实现上传文件的,可以想一下ajax与后台通信都是通过传递字符串,怎么能传递文件呢?其实出于安全考虑js是不能操作文件的,所以就不要再说用ajax来实现文件的上传了,这是不可能的。
    而本文实现的文件上传也是无页面刷新的,可以说是一种"类似AJAX"方法。
 &n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号