Если то, что вы пытаетесь сделать, это позволить пользователям добавлять закладки / обмениваться страницами, и вам не нужно, чтобы это был именно правильный URL-адрес, и вы не используете хеш-привязки для чего-либо еще, тогда вы можете сделать это в двух частях; вы используете обсуждаемое выше location.hash, а затем реализуете проверку на домашней странице, чтобы искать URL-адрес с хеш-якорем в нем и перенаправлять вас на последующий результат.
Например:
1) Пользователь находится на www.site.com/section/page/4
2) Пользователь выполняет какое-либо действие, которое изменяет URL-адрес на www.site.com/#/section/page/6
(с хешем). Скажем, что вы загрузили правильный контент для страницы 6 на страницу, поэтому помимо хэша пользователь не слишком беспокоится.
3) Пользователь передает этот URL кому-то другому или заносит в закладки
4) Кто-то другой или тот же пользователь в более поздний срок переходит к www.site.com/#/section/page/6
5) Код на www.site.com/
перенаправляет пользователя на www.site.com/section/page/6
, используя что-то вроде этого :
if (window.location.hash.length > 0){
window.location = window.location.hash.substring(1);
}
Надеюсь, это имеет смысл! Это полезный подход для некоторых ситуаций.
Если вы отправили нетипизированные строковые аргументы, как в вашем примере, они будут иметь тип unknown
и преобразованы в правильный тип, если это возможно. Это очень похоже на строковые литералы в операторах SQL.
Нет необходимости приводить к text
в операторе SQL. Мне было бы любопытно, какой тип col
, если вы считаете, что этот бросок необходим.
Если вы хотите передать text[]
в текстовом формате, просто используйте его строковое представление, например
{first element,two,three}
Это также будет работать для целых чисел и других типов; просто используйте текстовое представление значения.
Вы также можете использовать аргумент paramTypes
для PQexecParams
, чтобы указать, какой тип это явно. Возможные значения находятся в столбце oid
в pg_type
, и они постоянны для типов систем.