一、同源策略

二、跨域的集中方法:

1、服务器端发送请求,服务器作为中继代理(此方法不理解)

2、iframe

3、script标签

  通过动过动态生成script标签,并将src指向目标源的方式(img标签同样具有src属性,用img实现不行吗?)

原生实现方式示例:

var url="www.xxx.baidu.com/aa.js",
scriptTag=document.createElement("script");
scriptTag.src=url;
document.getElementByTagName("head")[0].appendChild(scriptTag); function showSth(data){
  alert(data.a);
}
////////////aa.js
var aa={"a":"A"};
showSth(aa);

三、jsonp:

1、客户端

使用script标签实现跨域访问、可在url中指定回调函数、获取json数据并在指定的回调函数中执行

jQuery实现jsonp

//$.getJSON
var url="wwwa.xxx.baidu.com/aa.js?callback=?"//使用?作为回调函数名,jquey会自动生成随机名替换?号。
$.getJSON(url,function(jsoon){
  alert(json.name+json.Email);
}); //$.ajax;
var url=www.xxx.baidu.com/aa.asmx?code=xx
$.ajax({
  url: url,
  dataType: jsonp,
jsonp:”callback”,//传递给请求处理程序的参数名,用来获取jsonp回调函数名(默认为“callback”,自动在URL中加上callback=?参数)
jsonpCallback:”GetUser”,//自定义的jsonp回调函数名(默认为jquery自动生成的随机函数名),此参数通常不用设置
  success:function(json){
    alert(json.name+json.Email);
  }
});

jQuery 只支持get方式的jsonp实现

jsonp的缺点:如果返回的数据格式有问题或返回失败了,并不会报错。

2、服务端

string jsoncallback = context.Request["callback"]; //如果不指定jsoncallback参数名,则返回随机函数名。
string jsonp=jsoncallback+"("+ new JavaScriptSerializer(new {Name="a",Email="B"})+")"
context.Response.ContentType = "text/plain";
context.Response.Write(jsonp);

Jquery Ajax跨域访问的更多相关文章

  1. 关于JQuery Ajax 跨域 访问.net WebService

    关于这个 jQuery Ajax跨域访问 WebService 前天整了好几个小时没整明白 今天再看一下 结果突然就顿悟了 1.建一个空webApplication --添加--新建项--web服务( ...

  2. jquery ajax跨域访问webservice配置

    1.webservice方法 [System.Web.Script.Services.ScriptService] public class TestService : System.Web.Serv ...

  3. JQuery实现Ajax跨域访问--Jsonp原理

    JavaScript是一种在Web开发中经常使用的前端动态脚本技术.在JavaScript中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略).这一策略对于Java ...

  4. 浅析JSONP-解决Ajax跨域访问问题

    浅析JSONP-解决Ajax跨域访问问题 很久没有写随笔了,总是感觉没时间,其实时间就是...废话少说,前几天,工作上有一新需求,需要前端web页面异步调用后台的Webservice方法返回信息.实现 ...

  5. ajax跨域访问的解决方案

    今天的工作中要访问摄像机内部的一个web站点,这就涉及到jquery的ajax跨域访问的问题.我使用的是jquery1.7的版本,下面总结如下: 问题一:一开始用IE调试,总是返回No Transpo ...

  6. Web Api 2(Cors)Ajax跨域访问

    支持Ajax跨域访问ASP.NET Web Api 2(Cors)的简单示例教程演示   随着深入使用ASP.NET Web Api,我们可能会在项目中考虑将前端的业务分得更细.比如前端项目使用Ang ...

  7. JQuery.Ajax + 跨域 (crossDomain) + POST + JSON + WCF RESTful, 5大陷阱和解决方案

    JQuery.Ajax + 跨域 (crossDomain) + POST + JSON + WCF RESTful, 5大陷阱和解决方案 最近在开发WSS RESTful服务的时候, 碰到了这些个纠 ...

  8. NodeJ node.js Jquery Ajax 跨域请求

    Jquery + Ajax 跨域请求 说白了就是前台请求ajax数据(JSON)但是请求的数据不在本地的绝对路径下,接口数据 是没有这个安全性的我对外公开的接口数据,只要你找到接口你就可以使用里面的数 ...

  9. Ajax跨域访问解决办法

    方法1. jsonp实现ajax跨域访问示例 jsp代码: <body> <input type="button" onclick="testJsonp ...

随机推荐

  1. mysql查看索引的大小

    1 ,show table status from your_database_name  这个不准: 2,这个比较详细 select database_name, table_name, index ...

  2. JVM插码之六:jacoco插码及问题“$jacocodata 属性 Method not found: is$jacocoData”

    在使用jacoco统计自动化代码覆盖率 jacoco统计自动化代码覆盖率 1. 简介1.1. 什么是JacocoJacoco是一个开源的代码覆盖率工具,可以嵌入到Ant .Maven中,并提供了Ecl ...

  3. 【程序人生】程序员真会玩,工作996,生病ICU

    昨天Github上一个项目彻底爆红了网络,短短一天star数突破一万,Issues已破1800,大家纷纷说出有关企业的不合理加班行为,句句吐露程序员的心声,掀起了一波抵制加班潮,抵制996. 该项目里 ...

  4. 2019秋季PAT甲级_备考总结

    2019 秋季 PAT 甲级 备考总结 在 2019/9/8 的 PAT 甲级考试中拿到了满分,考试题目的C++题解记录在这里,此处对备考过程和考试情况做一个总结.如果我的方法能帮助到碰巧点进来的有缘 ...

  5. Python-21-socket编程

    一.基础知识 1. C/S架构 C/S架构即客户机/服务器模式. 它可以分为客户机和服务器两层: 第一层:  在客户机系统上结合了界面显示与业务逻辑: 第二层:  通过网络结合了数据库服务器. 简单的 ...

  6. python使用ORM之如何调用多对多关系

    在models.py中,我创建了两张表,他们分别是作者表和书籍表,且之间的关系是多对多. # 书 class Book(models.Model): id = models.AutoField(pri ...

  7. WUSTOJ 1338: The minimum square sum(Java)

    题目链接:1338: The minimum square sum Description Given a prime p(p<108), you are to find min{x2+y2}, ...

  8. python3快速安装升级pip3

    一.下载地址: 获取get-pip.py安装文件: 官网链接:https://bootstrap.pypa.io/get-pip.py 百度云链接:https://pan.baidu.com/s/14 ...

  9. Python后台执行不启用缓存

    1.运行时加-u参数,如 # python3 -u test.py >> test.log & 用man查看python的-u参数,说明如下: Force stdin, stdou ...

  10. Scratch编程与高中数学算法初步

    scratch编程与高中数学算法初步 一提到编程,大家可能觉得晦涩难懂,没有一定的英语和数学思维基础的人,一大串的编程代码让人望而步,何况是中小学生.   Scratch是一款由麻省理工学院(MIT) ...