【问题标题】:How to get Params from url for Axios GET request?如何从 Axios GET 请求的 url 获取参数?
【发布时间】:2019-07-27 01:55:50
【问题描述】:

在一切之前,这不是重复的。

如何从我的 GET 请求的 URL 中获取我的 Axios 参数?

例子:

链接:http://127.0.0.1:8000/callback?Authority=000000000000000000000000000107041762&Status=OK

所以参数是AuthorityStatus

Authority: How to get this parameters from url Status: How to get this parameters from url

我正在使用 laravel 和 vue.js,代码是:

回调.vue:

<template>
<div>
    TEXT
</div>
</template>

<script>
export default {
    name: "callback",
    data () {
        return {}
    },

    methods: {
        loadData(){
            axios.get("api/callback", {
                Authority: ,
                Status
            })
                .then(({ data }) => (
                    console.log(data)
                    ));
        },
    },
    created() {
        this.loadData();
    }
}

控制器功能:

public function order(Request $request){

    $MerchantID = 'xxxx';
    $Authority =$request->get('Authority') ;

    $Amount = 111 ;
    if ($request->get('Status') == 'OK') {
        $client = new nusoap_client('https://localhost/ices/WebGate/wsdl', 'wsdl');
        $client->soap_defencoding = 'UTF-8';

        $result = $client->call('PaymentVerification', [
            [
                'MerchantID'     => $MerchantID,
                'Authority'      => $Authority,
                'Amount'         => $Amount,
            ],
        ]);

        if ($result['Status'] == 100) {
            return 'Done';

        } else {
            return 'Error 1';
        }
    }
    else
    {
        return 'Error 2';
 }

【问题讨论】:

  • 如果你做一个 dd($request->all()) 你会得到什么?
  • @carlos 得到了[]
  • 您在 axios 中传递了空值。以{ Authority: '000000000000000000000000000107041762',Status: 'OK' } 为例
  • @carlos 我以代码为例。我的权威和地位肯定是空的。我想从 url 获取它。我正在使用付款通道,付款完成后,他们将在此 url 上发送带有参数的数据库。所以我试图让那些发送成功消息并将数据添加到数据库中。我希望 axios 从 url 获取数据。
  • 使用 $request->get('Status') 或 $request->get('Authority'),您会收到来自 URL 的 POST 和 GET 方法。现在,如果您想从 javascript 中检索此参数,请检查 davidwalsh.name/query-string-javascript

标签: laravel vue.js axios


【解决方案1】:

你可以这样做:

function getQueryVariable(variable)
{
       var query = window.location.search.substring(1);
       var vars = query.split("&");
       for (var i=0;i<vars.length;i++) {
               var pair = vars[i].split("=");
               if(pair[0] == variable){return pair[1];}
       }
       return(false);
}

Usage
Example URL:
http://www.example.com/index.php?id=1&image=awesome.jpg

Calling getQueryVariable("id") - would return "1".
Calling getQueryVariable("image") - would return "awesome.jpg".

取自here

【讨论】:

    【解决方案2】:

    您需要使用{params: {}} 将url 查询传递给axios.get

    axios.get("api/callback", {
        params: {
          Authority: ''
          Status: 'OK'
        }
      })
      .then(({
        data
      }) => (
        console.log(data)
      ));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-01
      • 2022-01-03
      • 2021-12-19
      • 2022-01-05
      • 2017-09-06
      • 1970-01-01
      • 2016-05-04
      相关资源
      最近更新 更多