1
我做了一個快速的Ajax驅動頁面,用於粘貼一些文本並運行yuicompressor。然而,當我將stdout發送回我的頁面時,輸出工作得很好,我在<
字符處關閉了數據。例如,當我運行在此壓縮機:Node.js標準輸出編碼問題
function Enum(values){
for(var i = 0; i < values.length; ++i){
this[values[i]] = i;
}
return this;
}
我得到一個壓縮版本,沒問題。現在,當我把這個給我的網頁像這樣:
exec(command, function(err, stdout, stderr) {
console.log(stdout);
res.writeHead(200, {'content-type': 'text/plain'});
//res.write(decodeURIComponent(escape(stdout)));
//res.write(qs.escape(stdout));
res.write(stdout);
res.end('\n');
});
這總是引起越來越發送的數據被截斷在<
導致:
function Enum(a){for(var b=0;b
的console.log(stdout)
顯示完美,所以它的直到它發送給客戶端,它纔會被切斷。
當我嘗試編碼時,我能夠讓整個輸出到我的頁面全部逃脫出來,但是在前端解碼它導致了相同的問題。
這裏的Ajax調用:
if(ready) {
$.ajax('/get' + args + '/', {
type: 'GET',
dataType: 'text',
success: function(data) { $('pre').html(data) },
error: function() { console.log('error retrieving data') }
});
}
Yargg!謝了哥們。這樣簡單的解決方案! – grep 2012-07-19 15:31:12