MVCページを構築しながら、私はこのJavaScriptカミソリのページ原点を取得するには?
window.location.origin
が、サーバ側の等価を探しています。例えば
、あなたはそれは私が "のhttp://" を持っていることを
http://website.com
その重要戻ってくるここ http://website.com/123、 であれば一部
MVCページを構築しながら、私はこのJavaScriptカミソリのページ原点を取得するには?
window.location.origin
が、サーバ側の等価を探しています。例えば
、あなたはそれは私が "のhttp://" を持っていることを
http://website.com
その重要戻ってくるここ http://website.com/123、 であれば一部
が含まれます、Port(適用可能な場合)、およびHostName/IP。
私はあなたがRequest.UrlやRawUrlを探していると思いますが。
Uri.SchemeのRequest.Urlは、http/httpsの違いについての情報を提供します。
Request.Urlには '/ 123'も含まれます。 –
@JohnH、私は答えを更新しました...また、Manatherinの答え(+1)はすでにすべてを含んでいます。 –
これらのどちらも要求されたものを提供しません。次のURLを 'http:// localhost:63105/home/index'とすると、Request.Urlは' http:// localhost:63105/home/index'を返し、Request.RawUrlは '/ home/index'を返します。 。私たちの答えはどちらもErikのものよりも劣っているので、私は私のものを削除します。 –
あなたは当局
@String.Format("{0}://{1}", Request.Url.Scheme, Request.Url.Authority)
それとも
@String.Format("{0}://{1}", Request.Url.Scheme, Request.Url.Host)
を試みることができる私は
string url = Request.Url.AbsoluteUri.Replace(Request.Url.PathAndQuery,
string.Empty);
のファンはあなたのHTTP/HTTPSを保持していたポート番号
私はあなたの当局に追加の ':'を持っていると思います。 –
@ErikPhilipsそれは私のテストではそうではないようです – Manatherin
あなたは正しいです、ポートがURLにあるのを忘れてしまった、私はまれにそれを使用します。 –
javascriptのwindow.location.originは、現在のurlのプロトコル、ポート(存在する場合)、ドメイン、および拡張子を返します。
URLから同じ情報を取得する場合は、受け入れられた回答がそれを提供します。
同じ動作が必要な場合、つまりjavascriptがサーバーメソッドを呼び出していて、どこから呼び出しているかを知りたい場合は、HttpRequest.URLReferrerを調べることができます。しかし、これは簡単になりすますことができ、したがって信頼できません。
'UrlReferrer'を使うのは危険です!それは[何でも設定できます](https://en.wikipedia.org/wiki/Referer_spoofing)です。あなたが正しくエスケープしていない場合、それはワームの大きな缶を開く(例えばXSS)。また、私がGoogle.comから来るページにヒットした場合、あなたのメソッドはwebsite.comではなくgoogle.comを返します。ユーザー入力を信頼しないでください。リファラーはまさにそれです。 – RobIII
@RobIIIあなたは正しいです。私の元の意見を反映するために私の答えを更新しました。 –
既に尋ねられました... [MVC 3で現在のページURLを取得する方法]の複製が可能です(http://stackoverflow.com/questions/5304782/how-to-get-current-page-url -in-mvc-3) –