有没有一种方法,使一个HTTP请求使用Chrome开发工具,而不使用插件像海报?


当前回答

如果你在你的网站上使用jquery,你可以在你的控制台上使用这样的东西

$ . post ( “dom / data-home.php”, { 类型:"home", id: "0" }、功能(数据){ console.log(数据) }) < script src = " https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js " > < /脚本>

其他回答

扩展@dhfsk答案

这是我的工作流程

在Chrome DevTools中,右键单击您想要操作> Copy作为cURL的请求 开放的邮递员 单击左上角的导入,然后粘贴原始文本

使用现代async/await javascript sintax,你可以做到如下所示。

const options = {method: 'GET', Content-Type: 'application/json'};
let res = await fetch('https://yourdomain.com/somedata.json', options);
let json = await res.json();

它将进行所有CORS检查(跨原产地资源共享)。如果web服务器已经允许来自所有域的CORS,你就准备好了。如果你需要在web服务器上启用CORS,请遵循以下两种情况:一种是nginx,另一种是node express。

与NGINX兼容

从所有网站启用CORS 如果您希望对所有网站启用CORS,即接受所有网站的跨域请求,请添加以下内容

add_header Access-Control-Allow-Origin *;

从一个域启用CORS

add_header Access-Control-Allow-Origin "stackoverflow.com";

使用Express启用CORS

对于node,它只是安装cors与yarn添加cors,然后使用它

var express = require('express')
var cors = require('cors')
var app = express()

app.use(cors())

app.get('/products/:id', function (req, res, next) {
  res.json({msg: 'This is CORS-enabled for all origins!'})
})

app.listen(80, function () {
  console.log('CORS-enabled web server listening on port 80')
})

你可以在Firefox的检查器中编辑/重新发送请求,而不需要使用任何第三方,如下所示:

在Firefox中按F12打开检查器▶进入“网络”页签 找到你的API请求并点击它,这样'Headers'部分就会出现在右边(你可以在顶部的栏中过滤) “标题”选项卡带有一个重发按钮,在这里你可以重发或编辑和重发

截图

保持简单,如果你想请求使用相同的浏览上下文的页面,你已经在看然后在Chrome控制台只做:

window.location="https://www.example.com";

我知道,老帖子……但把这个留在这里可能会有帮助。

现代浏览器现在支持Fetch API。

你可以这样使用它:

fetch("<url>")
    .then(data => data.json()) // could be .text() or .blob() depending on the data you are expecting
    .then(console.log); // print your data

ps:它将进行所有的CORS检查,因为它是一个改进的XmlHttpRequest。