【问题标题】:send parameter post vueJS发送参数 post vueJS
【发布时间】:2020-10-30 14:55:27
【问题描述】:

我在使用 axios vueJS 发送参数时遇到问题。总是,我的脚本返回错误 500,因为未定义索引,我不知道为什么。另外,当我准备点击按钮时,第一次,不工作,第二次 axios 做两次请愿。我附上了我的实际代码。

感谢您的帮助

首先我需要 bono 类型,为了得到这个,我正在做:

(".contratar").on("click", function(e){
                var bono = $(this).closest("tr").find("td:eq(0)").text();

在我回答了这个值之后,我开始使用 axios 请求。

if(bono == 1){
     let url = "/contrarBono30Min";
     let bono = "Bono30Min";
     axios.post(url, { bono: bono } )
          .then((response) => {
              console.log(response);
           });
}

在我的控制器中:

    public function contrarBono30MinHome(){
        $usuario = \Auth::user()->id;
        $bono = $_GET["bono"];

        $precioBono = \DB::select("SELECT precio FROM bonos WHERE codBono = '1'");

}

我的 vue 组件

<tr v-for="data in bonosDisponibles" :key="data.id">
            
                <td>{{ data.codBono }}</td>
                <td>{{ data.tipo }}</td>
                <td>{{ data.minutos }}</td>
                <td>{{ data.precio }}</td>
                <td><button class="btn btn-danger contratar" @click="contratar">Contratar</button></td> 
            </tr>

对比函数

contratar: function(){
            $(".contratar").on("click", function(e){
                var bono = $(this).closest("tr").find("td:eq(0)").text();

                if(bono == 1){
                    let url = "/contrarBono30Min";
                    let bono = "Bono30Min";
                    axios.post(url, { bono: bono }
                            )
                            .then((response) => {
                                console.log(response);
                            });
                }

                if(bono == 2){
                    let url = "/contrarBono1H";
                    axios.post(url, {bono:Bono1H})
                            .then((response) => {
                                console.log(response);
                            });
                }

                if(bono == 3){
                    let url = "/contrarBono5h";
                    axios.post(url, {bono:Bono5H})
                            .then((response) => {
                                console.log(response);
                            });
                }

                if(bono == 4){
                    let url = "/contrarBono10H";
                    axios.post(url, {bono:Bono10H})
                            .then((response) => {
                                console.log(response);
                            });
                }

                if(bono == 5){
                    let url = "/contrarBono24H";
                    axios.post(url, {bono:Bono24H})
                            .then((response) => {
                                console.log(response);
                            });
                }

            });

在网络浏览器控制台我有这个:

Uncaught (in promise) Error: Request failed with status code 500

Access to XMLHttpRequest at '' (redirected from '') from origin '' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.

【问题讨论】:

  • 你 POST 到脚本,但使用 $_GET["bono"](你甚至不使用)
  • @kerbh0lz 感谢您的回复。是的,我在问完我的问题后展示了它。我改变了这个,但我又遇到了这个问题
  • 能否通过网络发布API端点页面的截图。它可能会显示错误。
  • @SachinBahukhandi 感谢您的回复,我想我解决了我的问题。我收到带有请求的参数,而不是发布或获取。但现在我遇到了 CORS 的问题。我的应用在 xampp

标签: javascript php laravel vue.js request


【解决方案1】:

用于 POST URL 中的发送参数

.post(url, { params: { codigo: codigoAsistencia } })

【讨论】:

    猜你喜欢
    • 2018-02-15
    • 1970-01-01
    • 2019-01-03
    • 2012-11-19
    • 2016-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-27
    相关资源
    最近更新 更多