使用jquery-simple-upload上传PDF时如何获取服务器响应?
获取jquery-simple-upload的服务器响应
这个库完全支持获取服务器响应,大概率是你对事件参数的使用或服务器响应配置有问题,以下是解决方法:
正确监听upload:done事件
upload:done的回调函数第三个参数就是服务器返回的响应内容,示例代码如下:
$('#upload').simpleUpload({ url: '/你的上传接口地址' }) .on('upload:done', function(e, file, response) { // 此处的response即为服务器返回的内容 console.log('服务器响应:', response); });
常见问题排查
- 检查服务器响应头:如果返回JSON格式数据,必须设置
Content-Type: application/json,否则库无法正确解析响应,会导致response为undefined。 - 确认响应格式合法性:比如JSON数据是否存在语法错误,格式不合法会导致解析失败。
- 显式指定
dataType:如果服务器返回的不是JSON(比如纯文本),需要在初始化时指定dataType参数:
$('#upload').simpleUpload({ url: '/你的上传接口地址', dataType: 'text' }) .on('upload:done', function(e, file, response) { console.log('文本格式响应:', response); });
备选方案:监听upload:complete事件
如果upload:done还是无法获取响应,可以尝试upload:complete事件,它会在请求完成(无论成功失败)时触发,同样能拿到响应:
.on('upload:complete', function(e, file, response) { console.log('请求完成,响应:', response); });
内容的提问来源于stack exchange,提问作者runningOnWaves
相关产品推荐
相关产品推荐

