2017-11-15 21 views
0

このURLを押すと、vTokenは何も得られません。すべてがFragment Identifierと呼ばれるハッシュ記号(#)で始まる、URLでクエリ文字列値を取得できません

http://localhost:56979/#/modules/Review?ID=20582&approvalToken=SIsJ3swuGjpPidOvWPSzuqfcTJH8IywIlVVEnkmIQU6yE93PUQ 
+0

_localhost_へのリンクを投稿するとかなり役に立たなくなります – Steve

+0

あなたのPCを使用していない人には、ローカルホストのリンクは機能しません。 – SEarle1986

+1

Relax、people。 Visual Studioを使用する場合、localhostを高いポート番号に設定するのは正常です。それはまだアプリケーションを開発している間に使用するための一時的なWebサーバーです。サイトをライブできる状態になると、実際のドメイン名を持つ新しいサーバーにプッシュされます。 –

答えて

0

Dim vHDR As String = Nothing 
If Request.IsLocal Then 
    Dim vToken = Request.QueryString("approvalToken") 
    If Not vToken Is Nothing Then 
     Dim vUser = Helper.ValidateToken(vToken) 
     If Not vUser Is Nothing Then 
       vHDR = vUser 
      End If 
     End If 
End If 

URLを支援してください。フラグメント識別子セクションはURLの最後のセクションであり、のURL引数の後にはとなります。

そこで質問からこのURLの:

http://localhost:56979/#/modules/Review?ID=20582&approvalToken=SIsJ3swuGjpPidOvWPSzuqfcTJH8IywIlVVEnkmIQU6yE93PUQ 

何のクエリ文字列はありません。クエリ文字列のように見えるセクションは、非常に長いフラグメント識別子の一部として先取りされました。パスの一部のように見える/modules/Reviewセクションでさえ、実際にはフラグメントの一部です。

あなたのベース/インデックスページのどこかに空白のhref値があると思われます。この値は、時には単一のハッシュ(#)で表されます。あなたは、URLにハッシュ記号を置くそのリンクをクリックします:このリンクをクリックした後

http://localhost:56979/# 

を、あなたはその後、リダイレクト、/modules/Review(新しいリンクをクリックするか、相対URLを追加し、いくつかの他のアクションを行うました現在の場所にクエリ文字列が既に含まれている可能性があります)。しかし今、あなたはその既存の場所の一部としてハッシュ記号を持っているので、あなたはあなたの質問にURLで終わるので、あなたが意味することを意味しているわけではありません。

これを修正する方法を正確に教えてください。しかし、vb.net(asp.net)のコンテキストでは、このコードをサーバー上で実行している場合は、おそらく変更したいです/modules/Review~/modules/Review。これがjavascriptで行われている場合、私はあなたのページについてもっと知る必要があります。

関連する問題