首页 > 其他分享 >跨域请求资源-jsonp和cors区别

跨域请求资源-jsonp和cors区别

时间:2024-04-09 22:32:57浏览次数:26  
标签:jsonp 跨域 cors Ajax 域名 CORS com

JSONP 和 CORS 的区别

  1. JSONP的原理:动态创建script标签;
    • JSONP发送的不是Ajax请求
    • 不支持 Post 请求;
  2. CORS中文意思是 跨域资源共享 ,需要服务器端进行 CORS 配置;
    • CORS 发送的是真正的Ajax请求
    • CORS 支持Ajax的跨域
    • 如果要启用 CORS 跨域资源共享,关键在于 服务器端,只要 服务器支持CORS跨域资源共享,则 浏览器肯定能够正常访问 这种 CORS 接口;而且,客户端在 发送 Ajax的时候,就像发送普通AJax一样,没有任何代码上的变化;
  3. 对于Node来说,如果想要开启 CORS 跨域通信,只需要安装 cors 的模块即可;

01 什么是跨域

        JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象。那什么是跨域呢,简单地理解就是因为JavaScript同源策略的限制,a.com域名下的js无法操作b.com或是c.a.com域名下的对象。 当协议、子域名、主域名、端口号中任意一个不相同时,都算作不同域。不同域之间相互请求资源,就算作“跨域”。

说明
第一:如果是协议和端口造成的跨域问题“前端”是无能为力的
第二:在跨域问题上,域仅仅是通过“URL的首部”来识别而不会根据域名对应的IP地址是否相同来判断。“URL的首部”可以理解为“协议, 域名和端口必须匹配”
所有跨域都必须经信息提供方允许, 如果未经允许即可获取, 那是浏览器同源策略出现漏洞

2.0 jsonp的实现原理

开发中常用jQuery的jsonp方式来解决跨域问题
步骤1: 发送请求的时候设置dataType类型
$.ajax({
      type: "get",
      url: "http://day8.com/getnav.php",
      dataType: "jsonp",
      success: function(res) {
          let html = templ

标签:jsonp,跨域,cors,Ajax,域名,CORS,com
From: https://blog.csdn.net/ranweidaoke/article/details/137567024

相关文章

  • c# Framwork4.5 添加webapi处理跨域请求问题
     常用2种方式 1)web.config允许所有来源,HTTP方法,请求标头跨域:后端,在Web.config中找到<system.webServer>标签,里面添加配置如下:<httpProtocol><customHeaders><addname="Access-Control-Allow-Origin"value="*"/><addname="Acc......
  • postman增加jsonpath功能
    postman的test和Pre-requestScript支持JS语言。但是并没有内置jsonPath函数可以使用变量方式,将jsonPath的函数源代码保存到变量中,需要使用的时候,读取变量,执行代码,就可以获得一个jsonpath函数。变量可保存在集合变量,环境变量和全局变量中。第一步,在变量中配置jsonpath变量名和......
  • .NetCore在跨域时设置自定义响应头的注意事项
      现在B/S开发基本都是前后端分离的方式了吧,那么这往往会涉及到一个跨域的问题,为了安全,跨域访问往往做了很多的限制,这里对跨域时自定义响应头做个笔记。  当我们在.NetCore的后端给请求添加了一个自定义的响应头的时候,通过api调用,响应头完美的返回:  publicclassHome......
  • Firefox火狐浏览器控制台,提示:已拦截跨源请求:同源策略禁止读取位于 http://127.0.0.1
    前言全局说明Firefox火狐浏览器控制台,提示:已拦截跨源请求一、火狐官方说明https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CORS/Errors/CORSMissingAllowOrigin?utm_source=devtools&utm_medium=firefox-cors-errors&utm_campaign=default二、修改浏览器方法[原文......
  • jsonpath提取响应结果,token鉴权处理
    importtimeimportuuidimportrequestsimportpprintfromjsonpathimportjsonpathfromtest_image_codeimportImageCodeclassManage:def__init__(self):self.header={"locale":"zh_CN"}self.login_url='......
  • ETL工具-nifi干货系列 第九讲 处理器EvaluateJsonPath,根据JsonPath提取字段
    1、其实这一节课本来按照计划一起学习RouteOnAttribute处理器(相当于java中的ifelse,switchcase控制语句),但是在学习的过程中遇到了一些问题。RouteOnAttribute需要依赖处理器EvaluateJsonPath,所以本节课我们一起来学习下EvaluateJsonPath处理器。如下图所示: 本节课的示例依然......
  • @JsonProperty注解
    @JsonProperty注解序言@JsonProperty当一个Java对象转换成Json字符串后,如果不是正确的实际名称有可能会出现异常。比如数据库中的坐标名称是x_axis,而定义Java对象是是xAxis,那么这时就需要使用到@JsonProperty注解,并且配合ObjectMapper.writeValueAsString方法使用去序列化对......
  • 网站使用CDN出现ttf woff等字体跨域问题解决方案
    如果cdn域名+资源路径是可以通过浏览器url地址栏打开的那么一般是因为nginx配置的原因,找到nginx的配置文件添加以下代码:# 允许指定域名访问;location ~ .*.(eot|ttf|ttc|otf|eot|woff|woff2|svg)(.*) { add_header Access-Control-Allow-Origin http(s)://......
  • Java解决跨域问题
    importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;importorg.springframework.web.servlet.config.annotation.CorsRegistry;importorg.springframework.web.servlet.config.annotation.WebMvcCo......
  • 跨域资源共享 CORS
    跨域资源共享CORS 概述如果需要在前端与不同域的后端进行通信,可以在后端配置CORS,允许指定的域名访问后端资源。开始通过配置合适的响应头,可以明确指定允许的来源域、请求方法和头部信息。Node.jsapp.all('*',function(req,res,next){res.header("Access-Control......