2017-12-12 9 views
0

私はVueを使用していますが、私はvue-routerを使用していませんJavaScriptでURLパラメータを取得するにはどうすればよいですか?

どのようにURIパラメータを取得できますか?

ルートのプロパティを使用してURIを取得する方法が見つかりました。

screenshot

しかし、私は バックエンドに送信し、サーバからの応答を取得し、それを表示したいなどのパラメータを取得するための任意の適切な方法があります。

答えて

2

、私はあなたがあなたのparamsにもアクセスできるようになりますとは思いません。だからあなたの唯一のチャンスのようにURL APIを使用することです。また?foo=bar


const URL = new URL(window.location.href); 
const getParam = URL.searchParams.get('foo'); 

これはあなたのfooの値を与える、あなたはこのような何かを行うことができます。今

new Vue({ 
el: '#app', 

data() { 
    return { 
    params: window.location.href.substr(window.location.href.indexOf('?')) 
    } 
}, 

methods: { 
    getParam (p) { 
    let param = new URLSearchParams(this.params); 
    if(param.has(p)){ 
     return param.get(p) 
    }else{ 
     false 
    } 
    } 
}, 
}) 

、ちょうど私たちはどちらか一瞬VUEのルータを使用していないgetParam('foo')

+0

答えていただきありがとうございます。私はそれの周りに他の方法があると思った。 –

+0

@ChiragChaudhari私の更新をチェックしてください – samayo

-1

ルートプロパティは、this.$routeに存在します。

this.$routerはルータの設定を与えるルータオブジェクトのインスタンスです。

あなたはこれを使用して現在のルートクエリを取得することができます。あなたはvue-routerを使用していないので、$ route.query

+0

私はvue-routerを使用していません。 vueルータを使用しているときに作成されるので、$ routeは私の場合は存在しません。私が求めているのは、その周りに何らかの方法があるということです。 –

0

を使用してのparamを取得します。 argsを解析するには、次のスクリプトを使用します。

var args = {}; 

    var argString = window.location.hash; 
    //everything after src belongs as part of the url, not to be parsed 
    var argsAndSrc = argString.split(/src=/); 
    args["src"] = argsAndSrc[1]; 
    //everything before src is args for this page. 
    var argArray = argsAndSrc[0].split("?"); 
    for (var i = 0; i < argArray.length; i++) { 
     var nameVal = argArray[i].split("="); 
     //strip the hash 
     if (i == 0) { 
      var name = nameVal[0]; 
      nameVal[0] = name.slice(1); 
     } 
     args[nameVal[0]] = decodeURI(nameVal[1]); 
    } 
関連する問題