2017-08-24 12 views
0

を交換してください:http://localhost:8000/fund_monitor/fund_details/fundaccountid=4&transmission=3&startDate=2017-08-01&endDate=2017-08-02/のJavascriptのURLだから、現在、私はこのような私のURLを持っている

その後、私はwindows.location.replace(url)を使用してURLをリダイレクトする場合、URLは次のようになり:http://localhost:8000/fund_monitor/fund_details/fundaccountid%3D4&transmission%3D3&startDate%3D2017-08-01&endDate%3D2017-08-02/

だから、等号を別の形式に変換されます。元の形式を保持する方法はありますか?

おかげ

+2

上で見ることができる完全なフォーマットは、クローム最新の私のために問題が発生していないようです。どのブラウザを使用していますか? –

+0

なぜそれはクエスチングではないのですか?それはurlencodedされています.... – epascarello

+0

私はクロムを使用しています:/ – anderish

答えて

4

URLが有効な形式ではないので、それはあるかもしれません。フォーマットはおおよそprotocol://host:port/path?query_params [1]です。query_paramsa=1&b=2のように見えますが、パラメータとパスを区切るには?が必要です。あなたが使用しているものは、部分としてfundaccountid=4&transmission=3&startDate=2017-08-01&endDate=2017-08-02/を扱うように見え、urlは適切なパスになるようにそれをエンコードします。おそらくURLを:http://localhost:8000/fund_monitor/fund_details?fundaccountid=4&transmission=3&startDate=2017-08-01&endDate=2017-08-02 として書き込んでみてください。

あなたのバックエンドにいくつかの変更が加えられますが、


[1]あなたがWikipediaまたはRFC 3986

2

あなたはdecodeURIComponent()を使用することができます。

decodeURIComponent()関数は、以前にencodeURIComponentまたは同様のルーチンによって作成されたURI(Uniform Resource Identifier)コンポーネントをデコードします。

var url = 'http://localhost:8000/fund_monitor/fund_details/fundaccountid%3D4&transmission%3D3&startDate%3D2017-08-01&endDate%3D2017-08-02/'; 
 

 
console.log(decodeURIComponent(url));

+1

良いと信頼できる答え –

+0

これは、正解の逆の並べ替えです。彼は自分のURLがなぜエンコードされているのではなく、エンコードされているのかを知りたがっています。 –

+0

@torazaburo間違った説明を添付しました。コードスニペットはデコードされたURLを取得するのは正しいですが、その説明は間違っていました。それを修正しました。指摘してくれてありがとう。 –

関連する問題