外部 API 的 CORS 问题 - 通过 PostMan 工作,但不能使用 Axios 进行 HTTP 请求 [重复]

2024-04-20

正在开发一个涉及汽车数据的新 Laravel 项目,并找到了一个免费的查找 API。

http://www.carqueryapi.com/documentation/api-usage/

一个示例端点是:

https://www.carqueryapi.com/api/0.3/?callback=?&cmd=getMakes

这在具有普通 GET 请求的 PostMan 上运行良好。

然而在使用 Axios 的 Vue.js 中:

getAllMakes: function() {
    axios.get("https://www.carqueryapi.com/api/0.3/?callback=?&cmd=getMakes").then(function(response) {
        console.log(response);
    });
}

我遇到 CORS 问题:

Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

有什么我可以做的吗?或者某些 API 被阻止了?


您可以使用此修复此错误

    return axios(url, {
      method: 'GET',
      mode: 'no-cors',
      headers: {
        'Access-Control-Allow-Origin': '*',
        'Content-Type': 'application/json',
      },
     credentials: 'same-origin',
    }).then(response => {
      console.log(response);
    })

请在您的 API 中添加 cors 中间件

  <?php
 namespace App\Http\Middleware;

 use Closure;

class CORS {

/**
 * Handle an incoming request.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  \Closure  $next
 * @return mixed
 */
public function handle($request, Closure $next)
{

    header("Access-Control-Allow-Origin: *");

    // ALLOW OPTIONS METHOD
    $headers = [
        'Access-Control-Allow-Methods'=> 'POST, GET, OPTIONS, PUT, DELETE',
        'Access-Control-Allow-Headers'=> 'Content-Type, X-Auth-Token, Origin'
    ];
    if($request->getMethod() == "OPTIONS") {
        // The client-side application can set only headers allowed in Access-Control-Allow-Headers
        return Response::make('OK', 200, $headers);
    }

    $response = $next($request);
    foreach($headers as $key => $value)
        $response->header($key, $value);
    return $response;
 }

}

在app\Http\Kernel.php中添加中间件

 protected $routeMiddleware = [
    'cors' => 'App\Http\Middleware\CORS',
];

然后你可以在路由中使用它

Route::get('/', function () {`enter code here`
})->middleware('cors');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

外部 API 的 CORS 问题 - 通过 PostMan 工作,但不能使用 Axios 进行 HTTP 请求 [重复] 的相关文章

  • 没有函数或 json 的 JavaScript 大括号

    刚刚打开客户端的 javascript 文件 第一行是这样的 var s account blog 我不明白 通常 根据我的经验 花括号包裹着一个函数 function welcome or a json JavaScript object
  • 查找并删除 Javascript 对象数组中的第一个匹配元素

    假设我有一个数组 members name Anna class one name Bob class two name Chuck class two removed members myRemoveByClass two somethi
  • Cypress:在 JSON 响应中存根特定键

    我想在 Cypress 中存根以下响应 专门存根密钥ds version 可能的值为 0 1 或 2 每个值将在 UI 上显示不同的元素 fixtures user json email email protected cdn cgi l
  • Iphone 上的 Javascript 日期解析

    我正在开发一个针对移动设备的离线 Javascript 网站 iPhone 就是这样的一种移动设备 我正在尝试从 REST API JSON 对象的成员 解析日期 我在用着 Date parse 2010 03 15 10 30 00 这适
  • javascript - 动态变量

    您好 我正在尝试创建动态变量 但它说 变量 v0 到 v5 未定义 td each function i eval var v i this html 任何帮助将不胜感激 这听起来是个坏主意 你有什么理由不能这样做吗 var tdHtml
  • 为什么 foo.hasOwnProperty('__proto__') 等于 false?

    var foo bar 5 Why is foo hasOwnProperty proto 等于false 它不能来自原型链中更高层的任何对象 因为它是特定于这个对象的 EDIT 有些答案说它已开启Object prototype 但我不明
  • Ng Bootstrap 日期范围选择器 [markDisabled] 不适用于输入

    我正在尝试禁用某些日期ng 引导范围选择器 https ng bootstrap github io components datepicker overview 目前 我在弹出窗口中有一个范围选择器 并且我正在使用 markDisable
  • History.pushState和页面刷新

    我开始研究 HTML5 新历史 API 不过 我有一个问题 如何处理页面刷新 例如 用户单击一个链接 该链接由 js 函数处理 该函数 异步加载页面内容 使用history pushState 更改URL 用户刷新页面 但是服务器上当然不存
  • 如何使用php api检查电子邮件或手机paypal帐户状态?

    如何使用 php api 检查电子邮件或手机 Paypal 帐户状态 好的 如果我想汇款到此电子邮件贝宝 email protected cdn cgi l email protection 或手机 1234567890 汇款前 我可以检查
  • ajax 调用成功后点击链接 href

    我有一个正常的链接 a href http www google com class continue Continue a 我已将点击绑定到一个事件来发布 ajax 请求 如下所示 continue click function ajax
  • 如何从 Laravel 将路由参数传递到 Vue.js

    我有这样的路线来获取带有相关评论的帖子 Route get api topics category id title function category id title return App Topic with comments gt
  • 检测 iPad Safari 用户的最佳方法

    添加用于检测 iPad Safari 用户的代码的最佳方法是什么 我的意思是我们应该使用 1 CSS 通过链接媒体 2 JS 通过navigator对象 我听说使用用户代理字符串并不是检测 iPad 的最佳方法 因为存在不一致的情况 请建议
  • 在 Typescript 中从基类创建子类的新实例[重复]

    这个问题在这里已经有答案了 我想创建新实例Child班级来自Base类方法 这有点复杂 但我会尽力解释 这是一个例子 class Base constructor clone Here i want to create new instan
  • 使用点符号将数字传递到函数中

    如果我有一个对象和函数 var obj 1234 example sample 5678 example sample function example num str if obj num hasOwnProperty str manip
  • 如何在javascript中删除一组表情符号中的最后一个表情符号?

    假设我的字符串中有 3 个表情符号 字符串中没有任何空格或除表情符号之外的任何其他字符 如何删除javascript中最后一个表情符号 下面的答案不使用任何特殊的包并安全地删除最后一个表情符号 function safeEmojiBacks
  • Javascript - 对父母调用 super 父母?

    我在 Odoo 中定义了当前自定义 javascript 视图的扩展 openerp account move journal test function instance var t instance web t lt instance
  • FB.getLoginStatus() 不起作用

    我正在尝试编写一段代码来检查用户是否登录 发现FBJS API中有一个内置方法 叫做getLoginStatus 我已经在html中实现了它 但出于某种原因 getLoginStatus 内部的alert 不会被触发 我也尝试在 init
  • 如何使用 Javascript 从 Chrome iOS 下载 blob 文件?

    如何使用 Javascript 从 Chrome iOS 下载 blob 文件 我正在从 iOS 下载文件 pdf excel txt png iOS 没有文件系统 这对下载来说是一个问题 我创建了一个代码 根据操作系统和导航器 如果需要
  • html 下钻下拉所选值未插入 MYSQL

    我有两个下拉列表 首先从数据库下拉填充 根据第一个下拉列表的选定值从数据库填充第二个下拉列表 document ready function c change function var c1 c selected text if c1 aj
  • 为什么 [].push([]) 返回 1? [复制]

    这个问题在这里已经有答案了 为什么这会返回 1 push outputs 1 push 返回数组的新长度 one push two returns 2 array length is 2 one two push something ret

随机推荐

  • Gensim LDA 主题分配

    我希望使用 LDA 将每个文档分配给一个主题 现在我意识到您得到的是 LDA 主题的分布 然而 正如您从下面最后一行看到的 我将其分配给最有可能的主题 我的问题是这样的 我必须跑lda corpus 有点第二次为了获得这些主题 是否有其他内
  • 可从 mdpi 加载而不是 hdpi 中绘制

    我已经使用不同的可绘制目录 ldpi mdpi 和 hdpi 设置了我的项目 我有一个具有两种不同分辨率的背景png drawable mdpi 文件夹中的320x480 和drawable hdpi 中的480x800 两者具有相同的文件
  • 如何在 jQuery jTable 中上传图像

    我在 jQuery jTable 的创建模式下成功创建了一个上传字段 如下所示 upload title Upload Image input function data return
  • 没有地图的地理编码

    我可以在没有地图的情况下使用 Google 地图地理编码 API 吗 我有一个带有自动完成功能的文本框 Google Maps API Place 我希望在用户输入街道号码后 我会得到邮政编码 问候 自动完成是允许在没有地图的情况下使用 G
  • 如何通过 PHP 获取字符串形式的 HTML 页面?

    我正在通过 PHP 从网页中获取一些信息simple php dom和卷曲 问题是页面构建不正确 因此 DOM 对象包含错误信息 如何获取 HTML 文件作为 PHP var 中的字符串 以便我可以通过它运行正则表达式 Curl 不起作用
  • 为页面创建新应用程序

    我有一个个人 FB 帐户 从那里我创建了一个新页面来介绍我的博客网站 我在我的网站上下载了一个适用于我的 WordPress 主题的小部件 以便我可以链接两个帐户以进行自动更新 该小部件要求我通过创建新应用程序提供应用程序 ID 和密钥 当
  • FMDB SQLite 问题:查询的行数?

    有谁知道如何在使用 FMDB 时返回查询计数 如果我执行Query select count from sometable were 我会得到一个空的FMResultSet 如何获取查询的行数 我是否需要执行 select from som
  • 使用 XMLHttpRequest 不使用 jQuery 将 JSON 数据发送到 PHP

    我正在尝试使用 XMLHttpRequest 对象从表单发送 JSON 数据 我可以使用以下函数发送数据 FireBug 中没有显示任何错误 并且 FireBug 可以很好地显示请求中的 JSON 数据 但是 我将数据发送到echo php
  • iOS 8 中的嵌套 UICollectionViews、自动布局和旋转

    我开始在一个大型项目中使用 AutoLayout 并对它感到非常惊讶 但是 现在我必须调整项目以适应旋转和尺寸类别 并且我在让视图正确运行方面遇到了很大的麻烦 基本问题是我有UICollectionViews with 再次包含 UICol
  • JS 数组显示的用户个人资料图片不正确 - 如何解决此问题?

    抱歉 这篇文章很长 但我不确定如果没有所有代码 问题是否会出现 我正在使用 parse com 和 JavaScript SDK 下面的代码是我的用户个人资料页面的一部分 它在屏幕上向他们显示他们的个人资料图片并允许他们更改它 更改个人资料
  • WatiN UnauthorizedAccessException 错误

    使用 NUnit 和 WatiN 运行任何测试时 我收到 UnauthorizedAccessException 错误 Test Test IndexTests Can Do failed WatiN Core Exceptions Ele
  • 禁用/启用 div 中的所有元素[重复]

    这个问题在这里已经有答案了 如何快速禁用 启用任何 div 中的所有元素 输入 链接和 jQ 按钮 链接没有 禁用 属性 因此您必须更加努力 my div find input prop disabled true my div a cli
  • 在 SQL-CLR 触发器或存储过程中创建套接字

    我在 SQL Server 2008 中有一个 SQL CLR 触发器 它向套接字服务器发送消息 它工作正常 但我需要 TCP 客户端保持与其通信的服务器的连接 为了做到这一点 我必须创建一些保持活动状态的线程 因此 我创建了一个线程 将消
  • 在 Puppeteer 中连接浏览器

    是否可以将浏览器连接到 puppeteer 而无需在 puppeteer 中实例化它 例如 像普通用户一样运行 chromium 实例 然后将其连接到代码中的 puppeteer 实例 答案是 是 和 否 您可以使用以下方式连接到现有的co
  • 选中复选框并存储在数组中 javascript

    任何人都可以告诉我如何检查并将复选框选中的值添加到数组中 单击时获取选中的值并将其存储在 JavaScript 中的数组中 这是我的代码 function ajax city var xmlhttp try xmlhttp new XMLH
  • jQuery 动画数字计数器从零到值

    我创建了一个脚本来将数字从零动画化到它的值 Working jQuery Counter 0 animate Counter Single text duration 1000 easing swing step function Sing
  • 如何禁用 EditText 中的 SwiftKey(第三方键盘)行为?

    我在 Android 应用程序中使用标准的 EditText 控件 此 EditText 的输入只能从应用程序的内置键盘插入 When SwiftKey 第三方键盘应用程序 安装在设备上 它会导致奇怪的行为 例如光标跳动 并在某些文本下方添
  • Windows 自动化 telnet

    我想运行一组通常在 telnet 中运行的命令 来自 c 例如我想运行以下命令 using System using System Diagnostics namespace InteractWithConsoleApp class Pro
  • 隐藏在ios 9中的附件栏

    嗨有人可以帮我吗 我想在 ios 9 中隐藏键盘上的附件栏 它的工作发现直到 ios 8 但在 ios 9 我无法隐藏附件栏我厌倦了这段代码但它不工作 for UIView possibleFormView in keyboardWindo
  • 外部 API 的 CORS 问题 - 通过 PostMan 工作,但不能使用 Axios 进行 HTTP 请求 [重复]

    这个问题在这里已经有答案了 正在开发一个涉及汽车数据的新 Laravel 项目 并找到了一个免费的查找 API http www carqueryapi com documentation api usage 一个示例端点是 https w