たとえば、次のコード:
プログラムコード:
コードコピーは次のとおりです。
<%@言語= "jscript" codepage = "65001"%>
<scriptlanguage = "jscript" runat = "server">
Response.Cookies( "xujiwei")( "name")= "xujiwei";
Response.Cookies( "xujiwei")( "jender")= "MALE";
varexpireddate = newDate(2008,11,31);
Response.Cookies( "xujiwei")。expires = expiredDate;
</script>
ブラウザで開いた後、次のエラーが発生します。
引用:
Microsoft JScriptランタイムエラー '' 800A000D ''
タイプミスマッチ
/temp/test.asp、行6
これは、VBScriptで日付型データを使用していることを意味しますが、JScriptでは機能しなくなりますが、常にサーバーで日付型データを使用する必要があります。データベースがパラメーター化されたコマンドを使用して動作している場合、日付型データを使用する場所が増えます。通常の方法を使用して日付パラメーターを追加することはできないため、SQLステートメントに載せることはできません。
幸いなことに、JScriptのデザイナーはこれを念頭に置いています。サーバーでJScriptを使用する場合、それは多くの場合ASPの別のスクリプト言語であり、JScriptはJavaScriptでMicrosoftが開発したMicrosoft自身のものです。これも考慮すべきことです。
JScriptでは、この問題を解決するための鍵は、日付タイプオブジェクトが関数GetVardateを提供することです。
引用:
comオブジェクト、Activex®オブジェクト、またはVisual BasicやVBScriptなどのVT_DATE形式で日付値を受け入れて返す他のオブジェクトと対話するときに、getVardateメソッドを使用します。実際の形式はリージョン設定に依存し、JScriptで変更されません。
OK、この問題の解決策はこれまでに浮上しています。これは、getVardate()関数を使用して、日付タイプオブジェクトをASPの組み込みオブジェクト応答と対話できる日付型オブジェクトに変換することです。次に、次のように初期コードを変更します。
プログラムコード:
コードコピーは次のとおりです。
<%@言語= "jscript" codepage = "65001"%>
<scriptlanguage = "jscript" runat = "server">
Response.Cookies( "xujiwei")( "name")= "xujiwei";
Response.Cookies( "xujiwei")( "jender")= "MALE";
varexpireddate = newdate(2008,11,31);
Response.Cookies( "xujiwei")。expires = expeddate.getVardate();
</script>
ブラウザがこのテストページを開くと、エラーメッセージが表示されず、クライアントのCookieが正常に記述され、有効期限が2008年12月31日であることを示します。
この記事があなたに役立つことを願っています。