Например, следующий код:
Код программы:
Кода -копия выглядит следующим образом:
<%@Language = "jscript" codepage = "65001"%>
<scriptlanguage = "jscript" runat = "server">
Response.cookies ("xujiwei") ("name") = "xujiwei";
Response.cookies ("xujiwei") ("пол") = "мужчина";
varexpireddate = newdate (2008,11,31);
Response.cookies ("xujiwei"). Истекает = истечь
</script>
После открытия в браузере возникает следующая ошибка:
Цитировать:
Microsoft JScript ошибка времени выполнения '' 800a000d '' '
Тип несоответствие
/temp/test.asp, строка 6
Это означает, что мы используем данные типа даты в VBScript, больше не работает в JScript, но нам всегда нужно использовать данные типа даты на сервере. Если база данных работает с использованием параметризованной команды, будет больше мест для использования данных типа даты. Вы не можете поместить его в операторы SQL, потому что вы не можете использовать обычные методы для добавления параметра даты.
К счастью, дизайнеры JScript имеют это в виду. При использовании JScript на сервере это часто является еще одним языком сценариев для ASP, а JScript - это собственная вещь Microsoft, разработанная Microsoft на JavaScript. Это также то, что его следует учитывать.
В JScript ключом к решению этой проблемы является то, что объект типа даты обеспечивает функцию getVardate, на которую ссылается язык JScript следующим образом:
Цитировать:
Используйте метод GetVardate при взаимодействии с объектами COM, объектами ActiveX® или другими объектами, которые принимают и возвращают значения даты в формате VT_DATE, такие как Visual Basic и VBScript. Фактический формат зависит от настройки региона и не меняется с JScript.
ОК, до сих пор появилось решение проблемы, которая состоит в том, чтобы использовать функцию getVardate () для преобразования объекта типа даты в объект типа даты, который может взаимодействовать со встроенным ответом объекта в ASP. Затем измените начальный код следующим образом:
Код программы:
Кода -копия выглядит следующим образом:
<%@Language = "jscript" codepage = "65001"%>
<scriptlanguage = "jscript" runat = "server">
Response.cookies ("xujiwei") ("name") = "xujiwei";
Response.cookies ("xujiwei") ("пол") = "мужчина";
varexpireddate = newdate (2008,11,31);
Response.cookies ("xujiwei"). Истекает = expirtDate.getVardate ();
</script>
Когда браузер откроет эту тестовую страницу, не будет никаких сообщений об ошибках, указывая на то, что файлы cookie клиента были успешно написаны, а дата истечения срока действия - 31 декабря 2008 года.
Надеюсь, эта статья будет вам полезна.