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
    ];
    echojson_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. 设置背景图片的两种方式,并解决手机端背景图片高度自适应问题

    设置背景图片的两种方式,并解决手机端背景图片高度自适应问题 参考文章: (1)设置背景图片的两种方式,并解决手机端背景图片高度自适应问题 (2)https://www.cnblogs.com/Dark ...

  2. JavaScript跨域解决方法大全

    跨域的定义:JavaScript出于安全性考虑,同源策略机制对跨域访问做了限制.域仅仅是通过"URL的首部"字符串进行识别,"URL的首部"指window.lo ...

  3. php 便利jq,jquery怎样遍历数组?jquery遍历数组常用的两种方式

    在jquery中,我们常用$().each和$.each()这两个方法来进行数组的遍历,$().each和$.each()这两种方法表面看起来好像差不多,但是,实际上这两个方法是有区别的,两个方法在针 ...

  4. javascript定义数组的两种方式,获取各个元素的值

    <script type="text/javascript">             //创建数组并赋值             //1声明数组,分配空间,赋值    ...

  5. PHP下实现两种ajax跨域的解决方案之jsonp

    H5开发中使用ajax调用数据接口, 如果接口文件不在同域名下会提示跨域错误(No 'Access-Control-Allow-Origin' header is present on the req ...

  6. 几种常见的跨域解决方法

    前言 由于浏览器的同源策略,当我们请求网络资源时,所在页面的url中的协议,端口,域名其中一个与请求资源的url不同,都会出现跨域的问题.但是浏览器不能没有这个策略,这样会很危险,像csrf,xss攻 ...

  7. 打包C#软件两种典型出错的解决方法,以及如何快速定位你的问题出在哪里

    本文受众:像我一样的编程菜鸟 如何打包一个C#的方法网上有很多,不再赘述,看本文之前请确保知道怎么使用set up project插件,不懂得看这里. 废话:编程的快感来自于很多方面,对于像我一样的菜 ...

  8. hive建立内部表映射hbase_Hive 建外链表到 Hbase(分内部表、外部表两种方式)

    一. Hive 建内部表,链到hbase :特点:Hive drop表后,Hbase 表同步删除 drop table if exists hbase_kimbo_test1; CREATE TABL ...

  9. Java并发基础01. 传统线程技术中创建线程的两种方式

    传统的线程技术中有两种创建线程的方式:一是继承Thread类,并重写run()方法:二是实现Runnable接口,覆盖接口中的run()方法,并把Runnable接口的实现扔给Thread.这两种方式 ...

最新文章

  1. 计算机技能最新需求排名:Python增速爆炸,SQL和Java老当益壮,AWS令人惊讶
  2. 如何清理由cmake生成的项目文件?
  3. mysql及mybatis知识点_MyBatis知识点详解
  4. linux 权限掩码 umask
  5. BootstrapTable入门Demo
  6. #10 Linux硬盘管理
  7. 如何建立数据平台?看上市公司的选择!
  8. RegistryHelper-注册表辅助类
  9. HelloDjango 第 02 篇:空空如也的博客应用
  10. SecureRandom生成随机数慢(阻塞)问题解决记录
  11. java int integer_浅谈java中int和Integer的区别
  12. 从零开始学WEB前端——VUE介绍
  13. Gilbert Strang-线性代数总结
  14. 2020年中青杯数学建模B题思路
  15. 数学【1】:矩阵特征值与特征向量的求法
  16. 深入学习卷积神经网络(CNN)的原理知识
  17. c语言程序设计张新成课后习题答案,C语言练习题2
  18. GAMES101-现代计算机图形学入门
  19. 一个与小球碰撞有关的有趣问题
  20. 各种肤质补水六大误区 - 健康程序员,至尚生活!

热门文章

  1. inside uboot (三) 异常向量表
  2. 虚幻4渲染系统结构解析
  3. 简单的UTF8编码生成
  4. ZDB5202烧成控制器方法
  5. mysql存储引擎的区别_Mysql的两种存储引擎以及区别
  6. excel怎么添加diy工具箱_这些Excel插件让你的Excel更好用!
  7. python打开文件中文名_windows下Python打开包含中文路径名文件
  8. 访问网络共享时出现“拒绝访问”
  9. “菜”鸟理解.NET Framework(CLI,CLS,CTS,CLR,FCL,BCL)
  10. 04751计算机网络安全讲解,【19份】04751计算机网络安全自考试卷_历年真题自考答案及解析_湖南080901计算机科学与技术(原B080702计算机及应用)专业-自考生资料网...