我的编程空间,编程开发者的网络收藏夹
学习永远不晚

js跨域请求的方式有哪些

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

js跨域请求的方式有哪些

这篇文章给大家分享的是有关js跨域请求的方式有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

JSONP实现跨域

常用的jquery实现跨域调用

$.ajax({
  url: "http://127.0.0.1/~chenjiebin/mycode/php/crossdomain/index.php",
  dataType: "jsonp",
  jsonp: "callback",
  context: document.body,
  success: function(data) {
    console.log(data);
  }
});

这个调用实际上的实现原理是
在网页中构造一个script标签,将class="lazy" data-src设置为对应的url,并增加上相应的callback参数,形如如下格式:

<script class="lazy" data-src="http://127.0.0.1/~chenjiebin/mycode/php/crossdomain/index.php?callback=jQuery211018970995225637144_1465350372062&_=1465350372063"></script>

请求的服务端代码如下:

$data   = json_encode(array("id" => "1", "name" => "tom"));
$callback = $_GET["callback"];
echo $callback . "(" . $data . ")";

实际上最后返回的内容就是一段js代码:

jQuery211018970995225637144_1465350372062({"id":"1","name":"tom"})

当浏览器获取到该段js代码后就会执行这个函数,从而实现回调ajax请求时设置的success方法。

jsonp实现的缺点

了解了原理后,就知道jsonp实现的跨域方式不支持post请求,只能支持get请求。但是如果需要支持post请求该怎么办呢?下面谈下服务器端设置的方式。

服务端设置支持跨域

主要是Access-Control-Allow-Origin头参数,该参数用来指定允许哪个来源的域请求。服务端代码如下:

// 表示支持所有来源的域进行请求
// 实际在操作过程中可以设置为指定域
header('Access-Control-Allow-Origin:*');
$data = json_encode(array("id" => "1", "name" => "tom"));
echo $data;

对应的js代码:

$.ajax({
  type: "POST",
  url: "http://127.0.0.1/~chenjiebin/mycode/php/crossdomain/header.php",
  dataType: "json",
  success: function(data) {
    console.log(data);
  }
});

可以支持post请求。

感谢各位的阅读!关于“js跨域请求的方式有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

js跨域请求的方式有哪些

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

下载Word文档

猜你喜欢

java跨域请求的方法有哪些

Java中实现跨域请求有以下几种方法:1. JSONP(JSON with Padding):JSONP是一种使用动态脚本标签(如)获取跨域数据的方法。通过在请求中指定一个回调函数名,服务器将数据包装为函数调用并返回,前端页
2023-09-06

vue跨域请求的方法有哪些

Vue跨域请求的方法有以下几种:1. 通过配置代理服务器:将API请求发送到代理服务器,再由代理服务器转发到API服务器。可以使用webpack的devServer配置或者使用http-proxy-middleware中间件实现。2. 使用
2023-08-09

JS实现网络请求的方式有哪些

这篇文章将为大家详细讲解有关JS实现网络请求的方式有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。背景为了应对越来越多的测试需求,减少重复性的工作,有道智能硬件测试组基于 electron 开发了一系
2023-06-29

ajax的请求方式有哪些

Ajax的请求方式有以下几种:1. GET:使用GET方法发送请求,获取指定资源。这是最常用的请求方式之一。例如:`$.get(url, data, success, dataType)`2. POST:使用POST方法发送请求,向指定资源
2023-09-13

springboot解决跨域的方式有哪些

这篇文章主要介绍“springboot解决跨域的方式有哪些”,在日常操作中,相信很多人在springboot解决跨域的方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”springboot解决跨域的方式
2023-06-30

Spring Boot实现跨域的方式有哪些

这篇文章主要讲解了“Spring Boot实现跨域的方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Spring Boot实现跨域的方式有哪些”吧!一、为什么会出现跨域问题出于浏览器
2023-06-30

springboot解决CORS跨域的方式有哪些

这篇文章主要介绍“springboot解决CORS跨域的方式有哪些”,在日常操作中,相信很多人在springboot解决CORS跨域的方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”springboo
2023-07-02

java请求接口的方式有哪些

Java请求接口的方式有以下几种:1. 使用HttpURLConnection:使用Java标准库中的HttpURLConnection类来发送HTTP请求并获取响应。2. 使用Apache HttpClient:Apache HttpCl
2023-10-25

java后端进行跨域的方式有哪些

这篇文章主要讲解了“java后端进行跨域的方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java后端进行跨域的方式有哪些”吧!一、使用@CrossOrigin注解在controll
2023-07-05

在SpringBoot 中实现跨域的方式有哪些

这篇文章给大家介绍在SpringBoot 中实现跨域的方式有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、为什么会出现跨域问题出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它
2023-06-06

常见的jQuery AJAX请求方式有哪些?

jQuery提供四种AJAX请求方式:GET、POST、PUT、DELETE。每种方式都有特定目的:GET:从服务器获取数据,通常用于加载资源或信息。POST:向服务器发送数据,用于创建或更新资源。PUT:全面更新现有资源。DELETE:从服务器删除资源。选择哪种请求方式取决于请求的目的,每种方式都有其优点和缺点。使用jQuery发出AJAX请求时,可以使用$.ajax()方法,指定请求方式、URL、数据和回调函数。
常见的jQuery AJAX请求方式有哪些?
2024-04-02

jquery实现Ajax请求的方式有哪些

jQuery实现Ajax请求的方式有以下几种:1. $.ajax():最常用的方式,可以进行各种自定义配置,例如请求的URL、请求的类型、数据类型、超时等。2. $.get():发送GET请求。3. $.post():发送POST请求。4.
2023-08-15

JAVA发送HTTP请求的方式有哪些

这篇文章主要介绍“JAVA发送HTTP请求的方式有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JAVA发送HTTP请求的方式有哪些”文章能帮助大家解决问题。1. HttpURLConnecti
2023-07-05

编程热搜

目录