一、同源策略

一个页面的ajax只能获取这个页面相同源(协议、域名、端口号都必须相同)的数据。

二、jsonp方法

1、json和jsonp

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式

JSONP是JSON with Padding的略称。它是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问

2、解决跨域的原理:

首先,<script>标签的src属性并不被同源策略所约束,所以可以获取任何服务器上脚本并执行。创建一个回调函数(function callback(data)

),然后在远程服务上调用这个函数(callback({message:"success"})

)并且将JSON 数据形式作为参数传递,完成回调

将JSON数据填充进回调函数,这就是JSONP的JSON+Padding的含义.

3、jquery实现jsonp

可以使用$.getJSON(url,[data],[callback])方法:

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$.getJSON("http://localhost:20002/MyService.ashx?callback=?",function(data){//这样getJSON方法才会知道是用JSONP方式去访问服务,会自动生成一个函数名
alert(data.name + " is a a" + data.sex);
});
</script>

如需自定义函数名

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$.ajax({
url:"http://localhost:20002/MyService.ashx?callback=?",
dataType:"jsonp",
jsonpCallback:"person",//自定义的函数名
success:function(data){
alert(data.name + " is a a" + data.sex);
}
});
</script>

最新文章

  1. javaScript笔记
  2. 刷新DNS命令 如何刷新DNS缓存(flushdns)
  3. UNIX 系统调用函数errno返回值搜集(in updating )
  4. 在windows 下安装启动redis
  5. 【C语言入门教程】5.1 函数说明 与 返回值
  6. css hack 整理
  7. iPhone取消软件更新上边的1
  8. Keil C51处理可重入函数问题的探讨
  9. iptables 配置
  10. iOS错误之-Presenting view controllers on detached view controllers is discouraged
  11. Javaweb 第7天 Servlet课程
  12. js数组、内置对象、自定义对象
  13. 个人作业2————英语学习APP的案例分析
  14. Windows Server 2016-Powershell迁移FSMO角色
  15. rabbitMQ权限相关命令
  16. twfont
  17. Mapreduce中maptask过程详解
  18. [CF1132E]Knapsack【暴力搜索】
  19. C#学习-方法
  20. Codeforce 697A - Pineapple Incident

热门文章

  1. Sword 内核队列一
  2. MapReduce 计数器简介
  3. Web重温系列(二):SQLite+EF6实现本地化存储
  4. Java8学习笔记(十一)--并发与非并发流下reduce比较
  5. 【python】装饰器详解推荐
  6. mysql 字符串 拼接 截取 替换
  7. 第一篇:你不一定了解的&quot;推荐系统&quot;
  8. 关于ping地址的几个意义
  9. 用scrapy框架爬取映客直播用户头像
  10. JS 详解对象的继承