jquery、javascript实现(get、post两种方式)跨域解决方法
jquery、javascript实现(get、post两种方式)跨域解决方法
一、实现get方式跨域请求数据
浏览器端
<script> $(document).ready(function(){$.ajax({url: "http://www.xxx.cn/index.php",type: "get",dataType: "jsonp", //指定服务器返回的数据类型 success: function (data) {console.log(data);}}); }); </script>
服务器端
1
2
3
4
5
6
7
8
|
<?php
$data = [
'info' => '跨域请求成功' ,
'status' => 1
];
$callback = $_GET [ 'callback' ]; //callback参数是发起请求是jquery的回调参数。
echo $callback . '(' .json_encode( $data ). ')' ; //所有返回数据时,需要按照此方式。
?>
|
二、实现post方式跨域请求
浏览器端
1
2
3
4
5
6
7
8
9
10
11
12
|
<script>
$(document).ready( function (){
$.ajax({
url: "http://www.xxx.cn/index.php" ,
type: "post" ,
dataType: "json" , //指定服务器返回的数据类型
success: function (data) {
console.log(data);
}
});
});
</script>
|
服务器端
Access-Control-Allow-Origin:* 表示允许任何域名跨域访问
如果需要指定某域名才允许跨域访问,只需把Access-Control-Allow-Origin:*改为Access-Control-Allow-Origin:允许的域名
例如:header('Access-Control-Allow-Origin:http://www.xxx.com');
1
2
3
4
5
6
7
8
9
10
|
<?php
header( 'Access-Control-Allow-Origin: *' ); //允许所有来源访问
header( 'Access-Control-Allow-Methods: POST' ); //响应类型
$data = [
'info' => 'post方式,跨域请求成功' ,
'status' => 1
];
echo json_encode( $data );
?>
|
某些header请求头
// 指定允许其他域名访问
header('Access-Control-Allow-Origin:*');
// 响应类型
header('Access-Control-Allow-Methods:POST');
// 响应头设置
header('Access-Control-Allow-Headers:x-requested-with,content-type');
//设置内容类型为json
header('content-type:application:json;charset=utf8');
jquery、javascript实现(get、post两种方式)跨域解决方法相关推荐
- 设置背景图片的两种方式,并解决手机端背景图片高度自适应问题
设置背景图片的两种方式,并解决手机端背景图片高度自适应问题 参考文章: (1)设置背景图片的两种方式,并解决手机端背景图片高度自适应问题 (2)https://www.cnblogs.com/Dark ...
- JavaScript跨域解决方法大全
跨域的定义:JavaScript出于安全性考虑,同源策略机制对跨域访问做了限制.域仅仅是通过"URL的首部"字符串进行识别,"URL的首部"指window.lo ...
- php 便利jq,jquery怎样遍历数组?jquery遍历数组常用的两种方式
在jquery中,我们常用$().each和$.each()这两个方法来进行数组的遍历,$().each和$.each()这两种方法表面看起来好像差不多,但是,实际上这两个方法是有区别的,两个方法在针 ...
- javascript定义数组的两种方式,获取各个元素的值
<script type="text/javascript"> //创建数组并赋值 //1声明数组,分配空间,赋值 ...
- PHP下实现两种ajax跨域的解决方案之jsonp
H5开发中使用ajax调用数据接口, 如果接口文件不在同域名下会提示跨域错误(No 'Access-Control-Allow-Origin' header is present on the req ...
- 几种常见的跨域解决方法
前言 由于浏览器的同源策略,当我们请求网络资源时,所在页面的url中的协议,端口,域名其中一个与请求资源的url不同,都会出现跨域的问题.但是浏览器不能没有这个策略,这样会很危险,像csrf,xss攻 ...
- 打包C#软件两种典型出错的解决方法,以及如何快速定位你的问题出在哪里
本文受众:像我一样的编程菜鸟 如何打包一个C#的方法网上有很多,不再赘述,看本文之前请确保知道怎么使用set up project插件,不懂得看这里. 废话:编程的快感来自于很多方面,对于像我一样的菜 ...
- hive建立内部表映射hbase_Hive 建外链表到 Hbase(分内部表、外部表两种方式)
一. Hive 建内部表,链到hbase :特点:Hive drop表后,Hbase 表同步删除 drop table if exists hbase_kimbo_test1; CREATE TABL ...
- Java并发基础01. 传统线程技术中创建线程的两种方式
传统的线程技术中有两种创建线程的方式:一是继承Thread类,并重写run()方法:二是实现Runnable接口,覆盖接口中的run()方法,并把Runnable接口的实现扔给Thread.这两种方式 ...
最新文章
- 计算机技能最新需求排名:Python增速爆炸,SQL和Java老当益壮,AWS令人惊讶
- 如何清理由cmake生成的项目文件?
- mysql及mybatis知识点_MyBatis知识点详解
- linux 权限掩码 umask
- BootstrapTable入门Demo
- #10 Linux硬盘管理
- 如何建立数据平台?看上市公司的选择!
- RegistryHelper-注册表辅助类
- HelloDjango 第 02 篇:空空如也的博客应用
- SecureRandom生成随机数慢(阻塞)问题解决记录
- java int integer_浅谈java中int和Integer的区别
- 从零开始学WEB前端——VUE介绍
- Gilbert Strang-线性代数总结
- 2020年中青杯数学建模B题思路
- 数学【1】:矩阵特征值与特征向量的求法
- 深入学习卷积神经网络(CNN)的原理知识
- c语言程序设计张新成课后习题答案,C语言练习题2
- GAMES101-现代计算机图形学入门
- 一个与小球碰撞有关的有趣问题
- 各种肤质补水六大误区 - 健康程序员,至尚生活!
热门文章
- inside uboot (三) 异常向量表
- 虚幻4渲染系统结构解析
- 简单的UTF8编码生成
- ZDB5202烧成控制器方法
- mysql存储引擎的区别_Mysql的两种存储引擎以及区别
- excel怎么添加diy工具箱_这些Excel插件让你的Excel更好用!
- python打开文件中文名_windows下Python打开包含中文路径名文件
- 访问网络共享时出现“拒绝访问”
- “菜”鸟理解.NET Framework(CLI,CLS,CTS,CLR,FCL,BCL)
- 04751计算机网络安全讲解,【19份】04751计算机网络安全自考试卷_历年真题自考答案及解析_湖南080901计算机科学与技术(原B080702计算机及应用)专业-自考生资料网...