そのため、nodejs から次の 2 つの応答を試みると、ブラウザー、特にクロムで動作が異なります。次のコンテンツのみを含むファイルがあります SOMESTRING
var string = fs.readSync(filename,'ascii');
res.end(string);
対。
res.end('SOMESTRING');
フロントエンドでは jQuery を使用し、次のことを行います。
$.ajax({type: params.type,
url: 'ajaxrequest',
cache: false,
data: {"name":"value"},
dataType:'text',
error: function(jqXHR, textStatus, errorThrown) {
},
success: function(data, textStatus, jqXHR) {
if(data == 'SOMESTRING')
console.log('data == SOMESTRING');
}
});
エンコーディングが何であれ (utf8 など)、string.toString() を試しても、データ == 'SOMESTRING' を取得できません。はい、余分な空白や改行がないことは確かです。