express ajax 前后台交互出现问题 ajax无法获取后台数据
发布于 9 年前 作者 lhist 6970 次预览 最后一次回复是 9 年前 来自 问答
后台用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啊,要想前台发送字符串