iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >ajax和jsonp跨域原理的示例分析
  • 912
分享到

ajax和jsonp跨域原理的示例分析

2024-04-02 19:04:59 912人浏览 八月长安
摘要

这篇文章主要为大家展示了“ajax和JSONp跨域原理的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ajax和jsonp跨域原理的示例分析”这篇文章吧

这篇文章主要为大家展示了“ajaxJSONp跨域原理的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ajax和jsonp跨域原理的示例分析”这篇文章吧。

为什么会有跨域问题? - 因为有同源策略

同源策略是浏览器的一种安全策略,所谓同源指的是 请求URL地址中的 协议, 域名 和 端口 都相同,只要其中之一不相同就是跨域

同源策略主要为了保证浏览器的安全性

在同源策略下,浏览器 不允许 Ajax跨域获取服务器数据

Http://www.example.com/detail.html

跨域请求:

  • http://api.example.com/detail.html 域名不同

  • http://www.example.com:8080/detail.html 端口不同

  • http://api.example.com:8080/detail.html 域名、端口不同

  • https://api.example.com/detail.html 协议、域名不同

  • https://www.example.com:8080/detail.html 端口、协议不同

ajax的基本概念

了解这个概念,首先得先知道同步交互与异步交互

  • 同步交互:客户端浏览器给服务器发送一个请求,服务器返回一个页面,返回的页面会把之前的页面覆盖掉,我们把这种交互方式称为同步交互

  • 异步交互:就是可会断浏览器给服务器发送一个请求,服务器返回数据,返回的数据不会把之前的页面覆盖掉,我们把这种交互方式称之为异步交互

ajax主要的应用场景:页面不刷新,就可以与服务器进行动态的数据交互

交互的原理

  • 同步交互原理:我们在浏览器,怎么给服务器发送请求呢?可以点击超链接,提交表单,浏览器地址栏输入地址,都是给服务器发送请求,实际上是浏览器帮助我们给服务器去发送请求

  • 异步交互的原理:javascript给我们提供了一个新的API接口,帮我们去发送http请求,由XMLHttpRequest 对象来帮助我们发送请求

我们所有的交互操作都可以通过这个对象来完成,发送请求,接受服务器的数据

ajax的具体应用场景

  • 前台可以通过XMLHttpRequest 给服务器发送请求,然后再通过XMLHttpRequest 对象来接受服务器返回的数据,最后通过dom操作把数据写到页面上

  • ajax:可以用来表单输入规范验证

  • ajax:也可以用来做性能优化,比如一个页面非常庞大,这个页面不可能一次加载完毕,实现一个滚动加载

XMLHttpRequest 交互的四个步骤

      1,实例化XMLHttpRequest 对象

      2,想和服务器进行交互,必须和服务器打开一个连接

      3,给服务器发送数据,发送参数数据到服务器

      4,接受服务器返回的数据,服务器在返回给客户端的时候会返回一些状态,可以通过监听服务器状态的改变,来更好的操控整个交互流程

ajax跨域

跨域:假设我访问 a 站点,后台返回给我一个页面,然后我又想在 a 站点的这个页面去访问 b 站点的资源,这就是一个跨域的效果,跨域浏览器是有安全限制的

解决·跨域的方式:jsonp方式

JSONP 全称是 JSON with Padding ,是基于 JSON 格式的为解决跨域请求资源而产生的解决方案。他实现的基本原理是利用了 HTML 里 <script></script> 元素标签,远程调用 JSON 文件来实现数据传递。如要在 a.com 域下获取存在 b.com 的 JSON 数据( getUsers.JSON ):

jsonp解决跨域的本质原理:由于浏览器有同源限制,不同站点之间不能相互访问,但是有时候我们就是想要获取其他站点的数据,比如加入我们想要获取一下急速数据的天气预报数据,这肯定跨域了,那么我们该怎么办呢?

原理:就是动态创建<script>标签,然后利用<script>的src 不受同源策略约束来跨域获取数据。

这样在后台就可以获取到前台传过来的那个回调函数,,最后后台返回这个函数的调用,参数为前台请求的数据

js代码

<script type="text/javascript">
 function handleResponse(response){
   console.log(response);
 }
</script>

<script type="text/javascript">
 window.onload = function() {

 var oBtn = document.getElementById('btn');

 oBtn.onclick = function() { 

  var script = document.createElement("script");
  script.src = "https://api.douban.com/v2/book/search?q=javascript&count=1&callback=handleResponse";
  document.body.insertBefore(script, document.body.firstChild); 
 };
};
</script>

以上是“ajax和jsonp跨域原理的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网node.js频道!

--结束END--

本文标题: ajax和jsonp跨域原理的示例分析

本文链接: https://www.lsjlt.com/news/74873.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ajax和jsonp跨域原理的示例分析
    这篇文章主要为大家展示了“ajax和jsonp跨域原理的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ajax和jsonp跨域原理的示例分析”这篇文章吧...
    99+
    2024-04-02
  • AJax与Jsonp跨域访问的示例分析
    这篇文章主要介绍AJax与Jsonp跨域访问的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!####JavaScript的AJaxAJAX即“Asynchronous Jav...
    99+
    2024-04-02
  • jsonp原理的示例分析
    小编给大家分享一下jsonp原理的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一:跨域问题。二,跨域产生的原因Js是不...
    99+
    2024-04-02
  • 基于JSONP原理的示例分析
    这篇文章主要介绍了基于JSONP原理的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前言我工作以来接触的第一个项目就是前后端分离的,...
    99+
    2024-04-02
  • JSONP跨域的原理是什么
    这篇文章给大家介绍JSONP跨域的原理是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。JSONP是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过ja...
    99+
    2024-04-02
  • AJAX原理的示例分析
    这篇文章将为大家详细讲解有关AJAX原理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。先上原理图: 背景:   &nbs...
    99+
    2024-04-02
  • 关于JSONP跨域请求原理的深入解析
    目录什么是同源策略什么是JSONP练习jsonp的缺点总结什么是同源策略 同源策略,它是由Netscape提出的一个著名的安全策略。现在所有支持JavaScript 的浏览器都会使用...
    99+
    2024-04-02
  • Ajax原理及使用的示例分析
    这篇文章给大家分享的是有关Ajax原理及使用的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。   Ajax原理   AJAX即“Asynchronous Javasc...
    99+
    2024-04-02
  • Ajax通讯原理XMLHttpRequest的示例分析
    这篇文章主要为大家展示了“Ajax通讯原理XMLHttpRequest的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Ajax通讯原理XMLHttpRe...
    99+
    2024-04-02
  • 如何进行JSONP跨域请求原理的深入解析
    这篇文章将为大家详细讲解有关如何进行JSONP跨域请求原理的深入解析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。什么是同源策略同源策略,它是由Netscape提出的一个著名的安全策略。现在...
    99+
    2023-06-26
  • Canvas跨域脱坑的示例分析
    小编给大家分享一下Canvas跨域脱坑的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!先来看下实现方法。实现方法目标图片一般是由 图片 + 文本 构成。无...
    99+
    2023-06-09
  • Ajax原理及优缺点的示例分析
    这篇文章主要为大家展示了“Ajax原理及优缺点的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Ajax原理及优缺点的示例分析”这篇文章吧。1、ajax技...
    99+
    2024-04-02
  • WEB前端跨域的示例分析
    这篇文章主要为大家展示了“WEB前端跨域的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“WEB前端跨域的示例分析”这篇文章吧。 ...
    99+
    2024-04-02
  • Vue3.x+axios跨域的示例分析
    这篇文章将为大家详细讲解有关Vue3.x+axios跨域的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。vue.config.js中devServer.proxy...
    99+
    2024-04-02
  • Angular2中http jsonp的示例分析
    这篇文章主要介绍Angular2中http jsonp的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Angular2 Http 1. 使用Http 绝大部分应用程序都会和后...
    99+
    2024-04-02
  • H5中window.postMessage与跨域的示例分析
    这篇文章主要为大家展示了“H5中window.postMessage与跨域的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“H5中window.postM...
    99+
    2024-04-02
  • HTML5中window.postMessage与跨域的示例分析
    这篇文章给大家分享的是有关HTML5中window.postMessage与跨域的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。讲到浏览器同源策略,即阻止不同域的页面间访...
    99+
    2024-04-02
  • ajax原始请求的示例分析
    这篇文章将为大家详细讲解有关ajax原始请求的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。XMLHttpRequest 对象简介浏览器与服务器之间,采用 HTTP 协议通信。用户在浏览器地址栏键...
    99+
    2023-06-22
  • 深入浅析同源与跨域,jsonp(函数封装),CORS原理
    目录同源政策Ajax请求限制:Ajax 只能向自己的服务器发送请求同源:同源政策的目的:不受同源策略限制:跨域问题跨域的原因:解决跨域问题:使用 JSONP 解决解决方法:JSONP...
    99+
    2024-04-02
  • 前端面试之同源和跨域的示例分析
    这篇文章将为大家详细讲解有关前端面试之同源和跨域的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。什么是同源策略同源策略是用来限制从一个源加载的文档或者脚本如何与来自另一个源的资源进行交互,是一种用...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作