ajax请求跨域
解决方式 1:
解决方式 2:
服务端:
package ceshi_utils; import java.util.*; import com.xwhb.utils.encrypt.CipherUtil;
import com.xwhb.utils.encrypt.MD5Util; import io.vertx.core.AbstractVerticle;
import io.vertx.core.eventbus.DeliveryOptions;
import io.vertx.core.http.HttpMethod;
import io.vertx.core.http.HttpServer; public class CSHttpVerticle extends AbstractVerticle { @Override
public void start() throws Exception {
super.start(); HttpServer server = vertx.createHttpServer();
server.requestHandler(req -> {
if (req.method() == HttpMethod.GET) { if (req.path().equals("/xwh-order")) {
req.response().setChunked(true);
req.bodyHandler(buffer -> { String way = req.getParam("way"); System.out.println("way :"+way); if (null != way){
way = "WX";
}else {
way = "ZFB";
} String sr=HttpRequest.sendPost("http://47.96.12.223/xwhbank", generateParams_order(way));
System.out.println(sr); req.response().putHeader("Access-Control-Allow-Origin","*");//allow all ip
req.response().putHeader("Access-Control-Allow-Methods","Get,Post,Put,OPTIONS");
req.response().putHeader("Access-Control-Allow-Headers","X-Requested-With,Content-Type,Accept"); req.response().putHeader("Content-Type", "text/html;charset=utf-8");
req.response().setStatusCode(200).write(sr).end();
}); }else if(req.path().equals("/xwh-withdraw")){
req.response().setChunked(true);
req.bodyHandler(buffer -> { String sr=HttpRequest.sendPost("http://47.96.12.223/xwhbank", generateParams_withdraw());
System.out.println(sr); req.response().putHeader("Access-Control-Allow-Origin","*");//allow all ip
req.response().putHeader("Access-Control-Allow-Methods","Get,Post,Put,OPTIONS");
req.response().putHeader("Access-Control-Allow-Headers","X-Requested-With,Content-Type,Accept"); req.response().putHeader("Content-Type", "text/html;charset=utf-8");
req.response().setStatusCode(200).write(sr).end(); });
}else {
req.response().setStatusCode(500).end();
}
}
});
server.listen(8123);
} private String generateParams_withdraw() {
...
} private String generateParams_order(String way){
...
} }
浏览器端
<!DOCTYPE html>
<html>
<head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<meta http-equiv="Access-Control-Allow-Origin" content="*"> 这行测试时不要也可以
<title>登录</title>
<script type='text/javascript' src='http://cdn.staticfile.org/jquery/2.1.1/jquery.min.js'></script>
<script type="text/javascript" src="http://cdn.staticfile.org/jquery.qrcode/1.0/jquery.qrcode.min.js"></script> </head>
<body>
<div id="qrcode"></div>
<script type="text/javascript">
$.ajax({
type: "GET",
url: "http://47.96.146.122:8123/xwh-order?way=WX",
dataType: "text",
success: function (data) {
$('#qrcode').qrcode(data);
}
});
</script>
</body>
</html>
ajax请求跨域的更多相关文章
- day78_淘淘商城项目_11_单点登录系统实现 + 用户名回显 + ajax请求跨域问题详解_匠心笔记
课程计划 1.SSO注册功能实现 2.SSO登录功能实现 3.通过token获得用户信息 4.ajax跨域请求解决方案--jsonp 1.服务接口实现 SSO系统就是解决分布式环境下登录问题的,本 ...
- 解决ajax请求跨域
跨域大部分需要通过后台解决,引起跨域的原因: 3个问题同时满足 才可能产生跨域问题,即跨域(协议,主机名,端口号中有一个不同就产生跨域) 下面是解决方法 方法一 // ajax请求跨域 /* *解决a ...
- 解决Ajax请求跨域问题
from:https://blog.csdn.net/wang379275614/article/details/53333775 上篇文章提到,由于浏览器的同源策略,使得,AJAX请求只能发给同源的 ...
- 处理Ajax请求跨域问题
ajax跨域的原理 ajax出现请求跨域错误问题,主要原因就是因为浏览器的“同源策略”. CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resourc ...
- 关于ajax请求跨域问题
jQuery中的异步请求跨域的方法: xhrFields: {withCredentials: true} 当设置为 true时,表示允许跨域: false时,表示禁止跨域
- Ajax请求跨域问题 -- 转载
几乎每种浏览器都存在默认的安全机制,都有同源策略,因为浏览器恶意的把每个外部请求的都当做是黑客攻击,相当于是对自身的保护,所以浏览器在运行脚本时会判断脚本与请求的页面是否是同一来源,这个同一来源,包括 ...
- ajax请求跨域问题
ajax跨域,这个是面试的时候常被问到,也是在做项目的时候会遇到的问题,在之前的项目中就有遇到过,这里根据经验写了三种分享下 1.使用中间层过渡的方式 简单来说就是"后台代理",把 ...
- web api 解决Ajax请求跨域问题
前端ajax请求接口时,经常出现跨域问题,当然了解决方法有很多种,比如: http://www.jb51.net/article/68424.htm 我本人恰好前后端都会一点,所以直接在接口端处理. ...
- WebApp开发:ajax请求跨域问题的解决
服务端:PHP 客户端:Andorid, HTML5, jQuery, ajax 现象:本想通过jQuery的ajax功能从服务器取回数据存到手机的缓存里,结果总是错误,后来想到可能是跨域问题,所以查 ...
- nginx配置 解决ajax请求跨域问题
文章来源:http://to-u.xyz/2016/06/30/nginx-cors/ 背景描述 最近在研究RESTful API接口设计,使用的是Nginx,要实现本地http://127.0.0. ...
随机推荐
- golang web框架 beego
尝试了下,在go环境ready的情况下,花了2分钟完成了beego安装.项目生成和启动,效率还是不错的 1.安装: go get github.com/astaxie/beego go get git ...
- virtualBox下Centos系统扩展LVM磁盘空间
工具准备:下载Gparted Live CD,一个分区管理工具(根据安装的32,64位版本选择对应链接).https://sourceforge.net/projects/gparted/files/ ...
- python学习笔记之斐波拉契数列学习
著名的斐波拉契数列(Fibonacci),除第一个和第二个数外,任意一个数都可由前两个数相加得到: 1, 1, 2, 3, 5, 8, 13, 21, 34, ... 如果用Python的列表生成式, ...
- 自定义标签在IE6-8的困境
或许未来前端组件化之路都是自定义标签,但这东西早在20年前,JSTL已在搞了.现在Web Component还只有webkit支持.但一个组件库,还需要一个特殊的标识它们是一块的.不过这个XML已经帮 ...
- android Button、TabLayout英文自动改小写为大写的问题
如果是Button自动大写问题,直接设置Button的 textAllCaps="false" 即可: 如果是TabLayout出现全大写问题,先在style.xml加入属性: & ...
- 设置git的http代理
如果git仓库不和本地代码之间不可以直达,这个时候就可以考虑使用git 代理的方式提交代码到git仓库了; git http代理或者https代理,配置在~/.gitconfig 文件下,可以直接编辑 ...
- 吴裕雄 python 机器学习-DMT(1)
import numpy as np import operator as op from math import log def createDataSet(): dataSet = [[1, 1, ...
- mab算法
https://zhuanlan.zhihu.com/p/21388070?refer=resyschina 专治选择困难症——bandit算法 改善:https://zhuanlan.zhihu.c ...
- k8s operator
https://coreos.com/blog/introducing-operators.html Site Reliability Engineer(SRE)是通过编写软件来运行应用程序的人员. ...
- cgi调用linux系统命令
1.例如:建一个目录:system("mkdir yourdir").(1)首先:要用root用户如果cgi中要用root用户,则必须在boa.conf文件中配置,将User no ...