Get query strings as an object after a url with hash
Using SearchParams
var url = `https://my-app.com/my-route/someOtherRoute#register?param1="122"¶m2="333"`;console.log(new URL(`https://1.com?${url.split("?")[1]}`).searchParams.get("param1"));
Get entire URL, including query string and anchor
No, I am afraid not, since the hash (the string including the #) never gets passed to the server, it is solely a behavioural property of the browser. The $_SERVER['REQUEST_URI']
variable will contain the rest however.
If you really need to know what the hash is, you will have to use the document.location.hash
JavaScript property, which contains the contents of the hash (you could then insert it in a form, or send it to the server with an ajax request).
Proper URL forming with a query string and an anchor hashtag
?var=var#hash
Everything after #
is client side.
Also, look into URL rewriting to get rid of ugly ?var=var
.
What should come first in URL, hash or querystring?
Some online articles says, that there is no standard for querystring and hash in URL
Either they are wrong or you are misinterpreting them.
The query string must appear before the fragment identifier (which you call the hash).
The specification shows the format of a URI:
URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
It clearly shows the fragment appearing after the query.
if hash follows querystring, it can become a value to some querystring data
It can't. The #
is a special character that indicates the start of the fragment. To include one in query string data it needs to be escaped as %23
.
What is the behavior of Hash(#) in query string
This is known as the "fragment identifier".
As mentioned in wikipedia:
The
fragment identifier
introduced by a hash mark # is the optional last part of aURL
for a document. It is typically used to identify a portion of that document.
The part after the #
is info for the client
. It is not sent to the server. Put everything only the browser needs here.
You can use the encodeURIComponent()
function in JavaScript to encode special characters in a URL, so that #
characters are converted to other characters that way you can be sure your whole URL will be sent to the server.
how to catch the full url including #
Plz Refer Below Link
Get Full Url in PHP
at Client Side You can use javascript to get hash value with window.location.hash
How can I get the full url including characters after a # char
Short answer: You can't
It's by design.
From RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax - Section 4.1 Fragment Identifier
When a URI reference is used to perform a retrieval action on the identified resource, the optional fragment identifier, separated from the URI by a crosshatch (“#”) character, consists of additional reference information to be interpreted by the user agent after the retrieval action has been successfully completed. As such, it is not part of a URI, but is often used in conjunction with a URI.
Basically the #
is never sent to the server so you can't retrieve it from Classic ASP. The client (Internet Browser) removes the #
fragment from the URI before it is sent.
Having said that it is possible to retrieve it from the client-side using JavaScript then pass the value via a form / querystring to the server where Classic ASP can retrieve and use it.
Related Topics
How to Match Accented Characters with PHP Preg
Using If(!Empty) with Multiple Variables Not in an Array
PHP - Time Remaining Until Specific Time from Current Time of Page Load
PHP Soap Client That Understands Multi-Part Messages
How to Tell If a Timezone Observes Daylight Saving at Any Time of the Year
How to Call a Python Script from PHP
Rationale Behind Simplexmlelement's Handling of Text Values in Addchild and Addattribute
Error_Reporting(E_All) Does Not Produce an Error
Differencebetween ' and " in PHP
Should Lock_Ex on Both Read & Write Be Atomic
How Is an Array in a PHP Foreach Loop Read
PHP - Count Specific Array Values
PHP Find All Occurrences of a Substring in a String
Twilio PHP - Ssl Certificate: Self Signed Certificate in Certificate Chain