【问题标题】:blocked by CORS policy ionic to laravel被 CORS 政策 ionic 阻止到 laravel
【发布时间】:2021-06-13 01:27:05
【问题描述】:

您好,我创建了一个 ionic 项目,我通过 ajax 将值发布到 laravel 后端(laravell 在后台由 MAMP 托管),每当我通过邮递员尝试它时,它都可以使用代码 200 正常工作

但是每当我尝试使用我的离子项目时,代码就在这里

function submitAxiosFormPost(e: React.FormEvent<HTMLInputElement>) {

    //? e: React.FormEvent<HTMLInputElement>

    // e.preventDefault();

    axios.post('http://localhost:8888/api/register', {
      name: username,
      email: email,
      password: password,
      password_confirmation: passwordConfirm
    })
      .then(function (response) {
        console.log(response);
          window.localStorage.setItem('profile', JSON.stringify(response.data.user));
          window.localStorage.setItem('token', JSON.stringify(response.data.access_token));
      })
      .catch(function (error) {
        console.log(error);
        // console.log("ERRRR:: ", error.response.data);
      });

    // name:Nairi7,
    // email:hnairiareg7@gmail.com,
    // password:Nairi7,
    // password_confirmation:Nairi7,


    console.log(`Username: ${username}\nEmail: ${email}\nPassword: ${password}\nPasswordConfirm: ${passwordConfirm}`);
  }

它带来了这个错误

【问题讨论】:

标签: ajax laravel api ionic-framework


【解决方案1】:

您的 Ionic 代码不是这里的问题。相反,它是您的后端。

问题与 Web 浏览器限制对启用了 CORS 的服务器的访问有关。出于安全原因,Web 浏览器仅允许向启用了 CORS 的 Web 服务器发出请求,因此恶意站点不会读取您的数据。以下是来自 Mozilla 的链接,其中详细介绍了 CORS:

https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

我不能 100% 确定你的后端代码是什么,因为我不熟悉 Laravel,所以我无法指导你如何为你的后端启用 CORS。但是,我附上了一个链接,其中包含为您的后端启用 CORS 的说明(我认为 Laravel 使用 PHP,因此您可能需要检查一下):

https://enable-cors.org/server.html

在后端启用 CORS 后,您应该一切顺利。

【讨论】:

    【解决方案2】:

    你应该在你的 laravel 后端启用 cors。您可以手动完成,也可以使用像这样的包https://github.com/fruitcake/laravel-cors

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-29
      • 2018-03-22
      • 2020-07-29
      • 2021-09-17
      • 2021-04-02
      • 1970-01-01
      • 1970-01-01
      • 2020-11-15
      相关资源
      最近更新 更多