ノードサーバーに要求を送信しようとしています。ブラウザは日付をmm/dd/yyyy形式で送信します。これは、サーバーによって次のように処理されます。Node.jsで文字列を分割できません
var endDate;
if (req.query.endDate) {
endDate = new Date(req.query.endDate);
}
クロムとIE以外のブラウザではうまくこの作品。
IE11では、何らかの理由で'11 5/24/2017 'から'?5?/?24?/?2017 'に日付をエンコードします。 は、私がこれを行うにしようとしていますこの問題を解決するには、次の
var endDate;
if (req.query.endDate) {
endDate=req.query.endDate.toString().trim();
endDate=endDate.toString().split('?').join('');
console.log('Log',endDate);
endDate = new Date(endDate);
}
期待される結果は、「2017年5月24日」です。しかし、それは動作しません。
ログに '?5?/?24?/?2017'の分割( '?')が表示されたら、結果として['?5?/?24?/?2017']が表示されます。なぜそれは文字列を分割していないのですか?
何か間違っていますか? ノードのバージョン:4.3.2(NVMを使用して)あなたの場合は
あなたの質問が明確ではありません。タイトルにはnodeJSが書かれていますが、フロントエンドのjavascriptコードはchromeで動作していて、IE11は失敗しています。あれは正しいですか? – itsundefined
これは、サーバー側ではなくブラウザ側からの問題のように聞こえます。おそらく、node.jsアプリケーションではなく、アプリケーションにリクエストを送信するために使用しているコードに焦点を当ててください。 –
Node.jsではなくJavascriptで文字列を分割することはできません。また、これらの種類の日付のハックアップは、ほとんどの場合、ある時点で後部のビットに戻って来ることに注意してください。代わりに日付ライブラリ(moment.js)を使用してください –