ajax跨域详细介绍,AJAX跨域的详细介绍(代码示例)

本文详细介绍了AJAX跨域的两种常见解决方案:JSONP和CORS。通过代码示例展示了如何在不同源之间进行数据交互。JSONP利用script标签的跨域特性,而CORS则提供了更安全且支持多种HTTP请求方式的跨域方法。文章还包含了实际的PHP处理代码,帮助读者理解这两种技术的工作原理。
摘要由CSDN通过智能技术生成

本篇文章给大家带来的内容是关于AJAX跨域的详细介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

AJAX 的跨域问题,常用的解决方法有两种,简单记录下,详细内容查看参考资料。以下示例自建两个域名测试,www.test.com、www.example.com。

同源策略同源策略限制从一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的关键的安全机制。

两个页面,如果域名、协议、端口都相同,即是同源,其间的交互不存在问题。同源策略是很重要的安全机制,但是有些时候需要突破这种机制,这就需要跨域。

JSONP

JSONP 是很常用的方法,它是利用 标签没有跨域限制的原理实现。以下是在 www.test.com 中使用 JQuery 示例$.ajax( {

url:'//www.example.com',

data:{name:'tom'},

type:'get',

dataType:'jsonp',

jsonp: "callback",

success:function(data) {

console.log(data)

}

})

以下是 www.example.com 的 PHP 处理<?php

$callback = $_GET['callback'];

$name = $_GET['name'];

// 处理数据

$data = md5($name);

echo $callback . '(' . json_encode($data) . ')';

CORS

CORS (Cross-origin resource sharing),跨域资源共享标准允许 Web 应用服务器进行跨域访问控制。相对于 JSONP 只支持 GET ,CORS 支持更多的 HTTP 请求,同时更简单、安全。不过 CORS 可能会存在兼容问题。

以下是在 www.test.com 中发送 AJAX 请求$.ajax( {

url:'//www.example.com',

data:{name:'tom'},

type:'post',

dataType:'json',

success:function(data) {

console.log(data)

}

});

www.example.com 的 PHP 处理<?php

header("Access-Control-Allow-Origin: http://www.test.com");

$name = $_POST['name'];

// 处理数据

$data = md5($name);

echo json_encode($data);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值