Jsonp

<meta charset="utf-8">

本地json获取

1.将json文件放在assets目录下

image

2.修改配置

image

3.在component.ts中读取

getRequest() {
    return this.http.get("assets/json/report.json")
      .subscribe((res: Response) => {
        this.result = res.json()
      });
  }

JSONP

JSONP原理

ajax请求受同源策略影响,不允许进行跨域请求,而script标签src属性中的链接却可以访问跨域的js脚本,利用这个特性,服务端不再返回JSON格式的数据,而是返回一段调用某个函数的js代码,在src中进行了调用,这样实现了跨域。

引入jsonp

import jsonp from '../assets/js/jsonp'

JSONP优缺点:

jsonp优点:

完美解决在测试或者开发中获取不同域下的数据,用户传递一个callback参数给服务端,然后服务端返回数据时会将这个callback参数作为函数名来包裹住JSON数据,
这样客户端就可以随意定制自己的函数来自动处理返回数据了。简单来说数据的格式没有发生很大变化

jsonp缺点:

1.jsonp只支持get请求而不支持post请求
2.jsonp存在安全性问题

请求头跨域

要求后端返回给前端的响应,响应头有

Access-Control-Allow-Origin:*

php代码写

header("Access-Control-Allow-Origin:*")
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文转自,博客园,昵称:[随它去吧],http://www.cnblogs.com/dowinning/archi...
    战神飘雪阅读 4,377评论 0 6
  • 说到AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交换数据?第二个是跨域的需求如何解决?这两个问...
    程序员之路阅读 2,839评论 0 5
  • JavaScript是一种在Web开发中经常使用的前端动态脚本技术。在JavaScript中,有一个很重要的...
    西瓜w阅读 5,747评论 0 1
  • 0. 前言 说到AJAX就会不可避免的面临两个问题。 AJAX以何种格式来交换数据? 第二个是跨域的需求如何解决?...
    公子七阅读 23,713评论 7 67
  • 小的时候家在山里因为家境贫寒,暑假我们时常跟着家里人到山上摘五味子,核桃晒干了买。一学期的花销就有了。那会山里...
    星雨星海阅读 1,339评论 0 1