Axios发布请求不适用于Quasar中的Cordova/电容器

xxhby3vn  于 2022-11-15  发布在  iOS
关注(0)|答案(1)|浏览(139)

这真的很奇怪。我打开了我的quasar应用程序的dev服务器,一切都很好。GET请求也可以工作,POST请求也可以在我的服务器(托管)上工作。我使用Axios包来做这件事。但是当我用Cordova为android构建应用程序时,只有GET请求可以工作,当我用手机测试时。
"了解发生了什么“我使用了ref。因此,当应用启动时,来自GET请求的数据存储在ref中。因此,如果reftrue,则数据显示在<p>标签中,因为移动的应用中没有console选项来检查返回的数据。它正在工作,数据正在从GET请求中呈现。我做了同样的事情来测试POST请求,我做了一个form,在submit之后,数据将发送到服务器,返回的数据也将存储在一个ref中。(它显示ref是否为真)。然而,这并没有发生,POST请求根本不起作用。我检查了服务器中的PHPMyAdmin,也没有插入数据。
我真的很纠结这个问题。真的很感激如果有人能帮助我这个。为什么POST请求不工作与 cordova 后,建立和只工作与网络?。我已经附上了我的代码如下。谢谢。

<template>
  <q-page class="flex flex-center">
    <q-form @submit.prevent="registerUser" class="q-gutter-md">
      <q-input
        type="text"
        autofocus
        v-model="userForm.username"
        label="Username"
        color="info"
      />
    </q-form>
    <p v-if="userData">{{userData }}</p>
  </q-page>
</template>

<script setup>
import { ref, reactive } from "vue";

const userData = ref();

const userForm = reactive({
 username: '',
});

const registerUser = async () => {
  await axios
    .post(`urlhere/register_app_user`, userForm)
    .then((response) => {
      userData.value = response.data;
    });
};
</script>

但是,这个POST请求在网络上可以工作。但是在我使用Cordova将其构建到android后,它就不工作了。我使用Laravel作为后端

fnx2tebb

fnx2tebb1#

这是因为Laravel的CSRF令牌问题。
只需转到,
app/Http/Middleware/VerifyCsrfToken.php
protected $except数组中添加'api/*',如下所示:(这是一个快速解决方案)

protected $except = [
  'api/*'
];

相关问题