session #asp-classic
#сеанс #asp-classic
Вопрос:
Я пытаюсь передать значения через сеанс с одной страницы во всплывающее окно. Но ему не удается передать значение. Я проверил ISS, где состояние сеанса включено true. Я опубликую код, над которым я работаю, пожалуйста, дайте мне знать, чего мне не хватает в нем, или любую другую проблему с настройками переменных, такую как php.ini
<script language="javascript" type="text/javascript">
function veh(url) {
popupWindow = window.open(url, 'popUpWindow', 'height=300,width=300,left=50,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no, status=yes');
}
</script>
<%
' Define to hold temporary super session
Dim strManu // Manufacture type
strManu = Session("Manu")
Dim objRS
Dim strSQL
Dim strVeh
Set objRS=Server.CreateObject ("ADODB.Recordset")
strSQL="SELECT vl.* FROM veh_tbl vl where vl.manuID= " amp; strManu
objRS.Open strSQL,objconn
if not objRS.eof then
strVeh=objRS("veh")
Session("Veh")=strVeh
end if
objRS.Close
Set objRS=Nothing
<a href='http://www.example.com/popup.asp' target='_self'
onclick='veh(this.href);return false'><img border='0'src='images/info.jpg'></a>
Всплывающее окно
<%
Dim strVal
strVal = Session("Veh")
%>
<FORM name=MyForm>
<% Response.Write "<label class = 'col-sm-4 col-form-label'>" amp; strVal amp; "</label>" %>
</FORM>
%>
Я получаю значение из базы данных и могу распечатать строку (strVeh) на той же странице. Я не могу передать то же самое во всплывающем окне. Он не показывает никаких ошибок. Кто-нибудь, пожалуйста, помогите мне решить проблему.
Комментарии:
1. ISS? Международная космическая станция или, может быть, вы имеете в виду IIS (информационный интернет-сервер)?
2. Что такое переменная strManu ? В целом этот код кажется ненадежным, например, возможно, вы слишком сильно сократили его. Можете ли вы просмотреть его и подтвердить, что это справедливое представление о том, что вы делаете, пожалуйста.
3. @user692942 извините .. ошибка опечатки .. его IIS.
4. @VanquishedWombat Я обновил вопрос на основе вашего предложения .. переменная strManu содержит тип veh manufacture .. значение было передано с предыдущей страницы через сеанс.
5. Можем ли мы также проверить, что href для всплывающего окна был изменен в примере кода? Это кажется маловероятным, но на всякий случай, если вы на самом деле используете ‘ example.com/popup.asp » тогда это не сработает — вам нужно, чтобы это был веб-адрес на том же сервере, что и первая страница. Так что, если ваша первая страница www.myserver.com/page1.asp тогда всплывающее окно также должно быть страницей по адресу www.myserver.com .
Ответ №1:
Вещи, которые я бы проверил:
- Во-первых, точно
href='http://www.example.com/popup.asp'
ли домен и поддомен соответствуют исходной странице? Например, добавление или удаление «www» может иметь значение. - Вы уверены
if not objRS.eof then
, что разрешение true? Например, попробуйте просто поместитьsession("test") = "test"
где-нибудь на странице за пределами условного оператора и посмотреть, доступна ли эта переменная во всплывающем окне.
Ответ №2:
Недавно возникла эта проблема, если я ввел ‘https://www.myweb.com/checksession.asp ‘он не загружал / не мог видеть переменные сеанса.
Введите ‘https://myweb.com/checksession.asp ‘ (т.е. удалите www.), и он работает нормально.
Итак, что следует иметь в виду, если ссылаться на другую страницу / ajax / сценарии загрузки и т. Д.
Комментарии:
1. Похоже, что первый ответ также говорит то же самое!