0

因此,当我尝试来自 nodejs 的以下两个响应时,浏览器中的行为是不同的,特别是 chrome。我有一个只有以下内容的文件 SOMESTRING

var string = fs.readSync(filename,'ascii');
res.end(string);

VS。

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() 我都无法获取 data == 'SOMESTRING' 即使我只是 res.end('SOMESTRING') 平等工作得很好。是的,我确信没有额外的空格或回车。

4

1 回答 1

0

试试console.log('[' + data + ']');。我敢打赌你会在那里找到一个换行符。

于 2012-08-30T08:55:06.673 回答