express ajax 前后台交互出现问题 ajax无法获取后台数据
发布于 8 年前 作者 lhist 6188 次浏览 来自 问答

后台用res.send(“DDFDFDF”)发送的字符串,前台在ajax({})中的success:function(data)就可以读出DDFDFDF,如果用var files = fs.readFileSync(file.path, ‘utf-8’);……res。send(files),前台ajax({})success的function (data)读时就读的是空串?

13 回复

试试把files toString呢? res.end试试?

都不行的话,看看files console.log一下,有货吗

你这是想用res.pipe吧?

为何不把代码整理好一点

@zhuyingda 有货,就是传不到前台

@1340641314 function doUpload() {
var formData = new FormData($( “#tijiao” )[0]);
$.ajax({
url: ‘http://localhost:1337/’ ,
type: ‘POST’,
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
success: function (data) {
alert(data); document.getElementById(“myDiv”).innerHTML = data; },
error: function (returndata) {
alert(returndata + ‘aa’);
}
}); } 我的前台代码, 后台是 res.send(fileb.toString(‘utf-8’, start=0, end=fileb.length)); 还是传不上

@ncuzp 就是想用nodejs返回读取的文本文件到前台,现在返回不来

如果在前台浏览器里直接访问这个接口呢? 浏览器里得到的也是空串吗

@zhuyingda 现在取出来了,不过乱码

@lhist 试试request包 流传递,而且你的同步io不太好啊

来自酷炫的 CNodeMD

@Richole 我应该怎么改

你看看后台代码是不是异步的原因。我猜测可能是先send了,然后再去读取文件了。

这种东西不用res.pipe实在是不舒服

@DevinXian 这个要怎样用pipe啊,要想前台发送字符串

回到顶部