mac使用Charles(花瓶)软件做代理,解决前端开发ajax跨域问题仅需三步

 

前端开发本地调试,ajax访问远程服务器资源,经常面临跨域问题。

下面通过本地代理的方式解决这个问题。(结尾附下载地址)

一、打开proxy-proxy settings,指定端口号,打开勾选开启http传输代理,保存。

二、打开tools-map remote settings,开启远程映射,添加一条映射,输入要替换的地址和端口,保存。(关键一步)

三、配置浏览器代理,设置本地地址,和上面输入的端口号。完毕。

 

 

附下载地址:https://www.charlesproxy.com/

 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 jQuery 的 AJAX 发送 POST 请求时,如果请求的地址是跨域的,浏览器会拦截该请求,因为浏览器有同源策略,不允许跨域请求。 解决跨域问题的方法有很多种,其中一种常用的方法是通过前端代理来转发请求。具体步骤如下: 1. 在前端项目中设置一个代理服务器。 2. 在代理服务器上开启一个接口,用于接收前端发送的请求。 3. 在代理服务器上发送一个 AJAX 请求到目标地址,并将目标地址的响应返回给前端。 4. 在前端代码中将请求地址改为代理服务器的地址。 下面是使用 Express 框架实现一个简单的代理服务器的示例代码: ```javascript const express = require('express'); const request = require('request'); const app = express(); app.post('/api/proxy', (req, res) => { // 获取前端发送的 POST 请求数据 const postData = req.body; // 目标地址 const targetUrl = 'http://example.com/api'; request.post({ url: targetUrl, json: postData }, (err, response, body) => { if (err) { console.error(err); return res.status(500).send('Proxy error'); } // 将目标地址的响应返回给前端 res.send(body); }); }); app.listen(3000, () => { console.log('Proxy server is running on port 3000'); }); ``` 在前端代码中,将请求地址改为代理服务器的地址即可: ```javascript $.ajax({ url: 'http://localhost:3000/api/proxy', type: 'POST', data: { key1: 'value1', key2: 'value2' }, success: (data) => { console.log(data); }, error: (xhr, textStatus, errorThrown) => { console.error(xhr, textStatus, errorThrown); } }); ``` 注意:上述示例代码中使用了 Express 框架和 request 模块,请确保安装了这两个模块。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值