Сегодня я наткнулся на следующий URL:
http://www.sfgate.com/cgi-bin/blogs/inmarin/detail??blogid=122&entry_id=64497
Обратите внимание на двойной вопросительный знак в начале строки запроса:
??blogid=122&entry_id=64497
У моего браузера, похоже, не было никаких проблем с этим, и я запустил быстрый букмарклет:
javascript:alert(document.location.search);
просто дал мне строку запроса, показанную выше.
Это действительный URL? Причина, по которой я такой педантичный (предполагая, что это так), заключается в том, что мне нужно анализировать такие URL-адреса для параметров запроса, а поддержка двойных вопросительных знаков потребует некоторых изменений в моем коде. Очевидно, если они в дикой природе, мне нужно будет их поддержать; Мне в основном любопытно, виновата ли я в том, что не придерживаюсь точных стандартов URL, или это на самом деле нестандартный URL.
indexOf()
чтобы найти вопросительный знак, поэтому он взял позицию первого появления. Затем я разделяю query_parameters на каждую,&
а затем их пары имя / значение для каждой=
.