【发布时间】:2025-11-24 04:40:02
【问题描述】:
所以这里我有一个 API,它获取图像的链接并使用第三方 API 压缩该图像,API 获取链接; req.body.link。问题是当我通过 jQuery 和 ajax 发送数据时,数据没有到达 API,我尝试 console.log(req.body) 并显示 {}...但是当我使用 Postman 时,console.log( req.body) 返回带有数据的正文。
使用 Postman,一切正常...当我使用 jQuery 在 .NET webapp 上调用 API 时,问题就开始了。
我试过 JSON.stringify(),我试过 $.ajax 方法
这是nodejs代码
app.post('/upload',(req,res)=>{
opts={
url:req.body.link,
wait:true,
lossy:true,
quality:60
};
kraken.url(opts,(err,data)=>{
if(err){
res.json([{"Status":"Failed"},{"Message":"Forbidden file format"}]);
}else{
res.json(data);
}
});
});
下面是 jQuery 代码(我已经尝试过 $.ajax)
var url = `https://www.example.info/wp-content/uploads/2016/04/19/04.jpg`;
$.post('http://localhost:5000/upload/', {"link":url}, function (data) {
console.log(data);
});
【问题讨论】:
-
您在 Postman 中使用了什么内容类型?
$.ajax方法(包括$.post)的默认值是表单编码 -
在 JS 中反引号是有效的字符串文字分隔符吗?
-
@RiggsFolly 是的...称为 模板文字
-
@charlietfl 谢谢,又是一个愉快的学习日
-
@charlietfl 邮递员的内容类型是 application/json