这真的很奇怪。我打开了我的quasar应用程序的dev服务器,一切都很好。GET
请求也可以工作,POST
请求也可以在我的服务器(托管)上工作。我使用Axios
包来做这件事。但是当我用Cordova为android构建应用程序时,只有GET
请求可以工作,当我用手机测试时。
"了解发生了什么“我使用了ref
。因此,当应用启动时,来自GET
请求的数据存储在ref
中。因此,如果ref
是true
,则数据显示在<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作为后端
1条答案
按热度按时间fnx2tebb1#
这是因为Laravel的CSRF令牌问题。
只需转到,
app/Http/Middleware/VerifyCsrfToken.php
在
protected $except
数组中添加'api/*'
,如下所示:(这是一个快速解决方案)