Как сохранить HTTP-запрос в файле? Я использую nodejs как сервер. Я передачи данных через AJAX, как это показано нижеНапишите http-запрос в файле с nodejs
user_info =
{
system_info: [
{'browesr': browser},
{'brower-version': version},
{'cookies': cookieEnabled},
{'os': os},
{'os-version': osVersion}
]
}
}
$.ajax({
url: 'http://127.0.0.1:4560',
data: {"info" : JSON.stringify(user_info)},
type: 'POST',
jsonCallback: 'callback',
success: function(data) {
var ret = jQuery.parseJSON(data);
$('#lblResponse').html(ret.msg);
console.log('success');
},
error: function(xhr, status, error) {
console.log('Error:' + error.message);
$('#lblResponse').html('Error connecting to the server.');
}
});
метод пост корректно работает и в стороне сервера данные получают слишком. моей проблемой является сохранение данных! Я ищу, и я нахожу что-то о потоковой передаче. это мой код сервера nodejs.
var http = require('http');
var fs = require('fs');
http.createServer(function (req, res) {
console.log('Request Received');
res.writeHead(200, {
'Context-Type': 'text/plain',
'Access-Control-Allow-Origin': '*'
});
req.on('data', function (chunk) {
var rstream = fs.createReadStream(JSON.parse(chund));
var wstream = fs.createWriteStream('info.txt');
rstream.pipe(wstream);
str += chunk;
console.log('GOT DATA');
});
res.end('{"msg": "OK"}');
}).listen(4560, '127.0.0.1');
console.log('Server running at http://127.0.0.1:4560/');
Я использую фс модуль и потоковое, но не работало вообще, «info.txt» рядом код сервера в том же каталоге.
Может ли кто-нибудь мне помочь?
Спасибо, друг! Только одна проблема, когда я открываю файл.json, данные сохраняются следующим образом: info =% 7B% 22system_info% 22% 3A% 5B% 7B% 22browser ...., почему не отображали данные, как обычный json? –
В вашем запросе Ajax попробуйте 'data: JSON.stringify ({" info ": user_info})' и установите 'contentType:" application/json "' – dan
Правильно! , но еще одна проблема, когда вы открываете страницу в новой операционной системе или веб-браузере, сервер удаляет предыдущий json и записывает новое, как я могу добавить данные? –