一、异步对象,不能实现跨域请求

在站点A中访问站点B的数据:

站点A代码:

     window.onload = function () {
document.getElementById("btnAjax").onclick = doAjax;
}
function doAjax() {
var xhr = new XMLHttpRequest();
xhr.open("get", "http://www.ruanmou.net/C01Target.ashx", true);
xhr.setRequestHeader("If-Modified-Since", "");
xhr.onreadystatechange = function () { if (xhr.readyState == && xhr.status == ) {
var res = xhr.responseText;
alert(res);
}
};
xhr.send(null);
}
<input type="button" value="使用异步请求跨域请求是错的" id="btnAjax" />

站点B代码:

C01Target.ashx中:

 public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Write(“hello world”);
}

二、使用script标签实现跨域请求

站点A代码:

 <script type="text/javascript" src="http://www.ruanmou.net/C01Target.ashx?callback=showData"></script>
  function showData(data) {
for (var key in data) {
alert(data[key]);
}
}

站点B代码:

C01Target.ashx中:

 public void ProcessRequest(HttpContext context)
{
string funName = context.Request.Params["callback"];
context.Response.ContentType = "text/plain";
string strDate = funName+"({\"name\":\"Xuj\",\"age\":\"18\"})";//返回数据为json格式
context.Response.Write(strDate);
}

 三、jquery使用jsonp实现跨域请求

站点A代码:

 window.onload = function () {
document.getElementById("btnAjax").onclick = doAjax;
}
function doJq() {
$.ajax("http://www.ruanmou.net/C01Target.ashx"), {
type: "get",//内部就是创建一个script标签
jsonp:"callback",//传的参数名,和服务器端一致
dataType: "jsonp",//指定回调的函数名
jsonCallback: "showData",
success: function () {
alert("");
}
});
}
 function showData(data) {
for (var key in data) {
alert(data[key]);
}
}

使用jsonp跨域请求的更多相关文章

  1. .net学习之母版页执行顺序、jsonp跨域请求原理、IsPostBack原理、服务器端控件按钮Button点击时的过程、缓存、IHttpModule 过滤器

    1.WebForm使用母版页后执行的顺序是先执行子页面中的Page_Load,再执行母版页中的Page_Load,请求是先生成母版页的控件树,然后将子页面生成的控件树填充到母版页中,最后输出 2.We ...

  2. JSONP跨域请求数据报错 “Unexpected token :”的解决办法

    原文  http://www.cnphp6.com/archives/65409 Jquery使用ajax方法实现jsonp跨域请求数据的时候报错 “Uncaught SyntaxError: Une ...

  3. jQuery ajax的jsonp跨域请求

    一直在听“跨域跨域”,但是什么是跨域呢?今天做了一些了解.(利用jQuery的jsonp) jQuery使用JSONP跨域 JSONP跨域是利用script脚本允许引用不同域下的js实现的,将回调方法 ...

  4. Django学习---jsonp跨域请求

    jsonp跨域请求 我们通过ajax进行跨域请求的时候,请求发送过去,但是在接受返回数据的时候浏览器会进行拦截. 这是由于浏览器存在同源策略机制,同源策略阻止从一个源加载的文档或脚本获取或设置另一个源 ...

  5. jsonp跨域请求响应结果处理函数(python)

    接口测试跨域请求接口用的jsonp,需要将回调函数里的json字符串提取出来. jsonp跨域请求的响应结果格式: callback_functionname(json字符串). #coding:ut ...

  6. 原生JavaScript封装的jsonp跨域请求

    原生JavaScript封装的jsonp跨域请求 <!DOCTYPE html> <html lang="en"> <head> <met ...

  7. jsonp 跨域请求

    背景: JavaScript是一种在Web开发中经常使用的前端动态脚本技术.在JavaScript中,有一个很重要的安全性限制,被称为"Same-Origin Policy"(同源 ...

  8. 使用JSONP跨域请求数据

    下面代码,可以使用JSONP进行跨域请求数据,Insus.NET记录以下,以备忘记.

  9. jQuery jsonp跨域请求

    跨域的安全限制都是对浏览器端来说的,服务器端是不存在跨域安全限制的. 浏览器的同源策略限制从一个源加载的文档或脚本与来自另一个源的资源进行交互. 如果协议,端口和主机对于两个页面是相同的,则两个页面具 ...

随机推荐

  1. mysql日期格式说明符

  2. CDH ecosystem components

    1,Mahout ASF(Apache Software Foundation)开源项目,提供可扩展的`机器学习`--(ML,Machine Learning多领域交叉学科,涉及概率,统计,逼近,凸分 ...

  3. 做优步有什么旁门左道吗?No,贪小便宜会吃大亏!

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  4. 统一样式的View应该用style修饰

    我们的应用中,常常有一些统一的组件,这时候应该用style来修饰.这样的话,修改起来也方便,代码也更简洁 比如,下面的代码,没有用style修饰 <LinearLayout xmlns:andr ...

  5. Android实例-MotionSensor加速度(XE8+小米2)

    结果: 1. 实例代码: unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classe ...

  6. Umbraco中的ModelBuilder

    Umbraco中的ModelBuilder有以下几种形式 Pure Live models Dll models LiveDll models AppData models LiveAppData m ...

  7. 一步一步学数据结构之n--n(图遍历--深度优先遍历--非递归实现)

    前面已经说了图的深度优先遍历算法,是用递归实现的,而在这里就讲一下用非递归实现,需要借助栈: 算法思想:        1. 栈初始化        2. 输出起始顶点,起始顶点改为“已访问”标志,将 ...

  8. iOS---RunLoop深度剖析

    RunLoop 前言 RunLoop是iOS/OS开发中比较基础的一个概念,在苹果开发中用在事件处理,延迟加载,屏幕刷新等功能的处理,其实抛开语言,RunLoop是一个的架构模式,也就是RunLoop ...

  9. 基于jquery扩展漂亮的分页控件(ajax)

    分页控件式大家在熟悉不过的控件,很多情况下都需要使用到分页控件来完成列表数据加载操作,在很多分页控件中有的编写麻烦,有的应用扩展比较复杂,有的分页控件样式比较丑陋,有的分页控件用户体验操作比较简单等等 ...

  10. iOS学习之NSBundle介绍和使用

    iOS学习之NSBundle介绍和使用 http://blog.csdn.net/totogo2010/article/details/7672271 新建一个Single View Applicat ...