跨域:
跨域指的是从一个域名的网页请求另一个域名的资源。
同源:当协议、域名、端口都一样时才是同源。
AJAX请求在进行跨域访问时,可能会因为同源策略导致无法访问。
以下是解决方案:
在后端设置响应头:
1 2 | response.setHeader( "Access-Control-Allow-Origin" , "http://localhost:8080" ); // 允许某个 response.setHeader( "Access-Control-Allow-Origin" , "*" ); // 允许所有 |
JSONP:
因为<script type="text/javascript" src="url" ></script>这种访问是可以跨域的,并且url可以是普通的servlet,和普通的GET请求效果一样。
所以可以利用这个机制完成类似AJAX的跨域访问局部更新。
jQuery中有封装好的jsonp:
1 2 3 4 5 6 7 8 9 | $.ajax({ type : "GET" , url : "跨域的url" , dataType : "jsonp" , // 指定数据类型 jsonp : "fun" , // 指定参数名(不设置的时候,默认是:"callback") jsonpCallback : "sayHello" // 指定回调函数的名字 // (不设置的时候,jQuery会自动生成一个随机的回调函数, //并且这个回调函数还会自动调用success的回调函数。) }) |
代理机制:
使用httpclient组件,可以发送http请求,和浏览器进行的操作是一样的。
在普通的servlet中使用该组件,可以拿到跨域目标服务器的数据,然后返回给前端。
nginx反向代理:
待学习
分类:
AJAX复习笔记
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?