el-upload中在:on-success钩子函数中怎么取到后端返回的的响应状态码
时间: 2024-03-03 22:47:56 浏览: 127
在 `on-success` 钩子函数中,可以通过 `response` 参数获取后端返回的完整响应数据。然后可以通过 `response.status` 获取响应状态码。下面是一个示例代码:
```html
<el-upload
class="upload-demo"
action="/your-upload-api"
:on-success="handleSuccess"
>
</el-upload>
```
```javascript
methods: {
handleSuccess(response, file, fileList) {
console.log('响应状态码:', response.status);
// 其他操作
}
}
```
相关问题
<el-form-item label="图片" prop="image"> <!-- <el-upload ref="upload" action="" list-type="picture-card" :on-preview="handlePictureCardPreview" :on-remove="handleRemove" :on-change="UploadImage" :limit="1" :file-list="fileList" :auto-upload="false" > <i class="el-icon-plus" /> </el-upload>--> <el-upload v-model="form.image" :action="uploadApi" list-type="picture-card" :auto-upload="true" @success="handleUploadSuccess"> <i slot="default" class="el-icon-plus" /> <div slot="file" slot-scope="{ file }"> <img class="el-upload-list__item-thumbnail" :src="file.url" alt=""> <span class="el-upload-list__item-actions"> <span class="el-upload-list__item-preview" @click="handlePictureCardPreview(file)"> <i class="el-icon-zoom-in" /> </span> <span v-if="!disabled" class="el-upload-list__item-delete" @click="handleDownload(file)"> <i class="el-icon-download" /> </span> <span v-if="!disabled" class="el-upload-list__item-delete" @click="handleRemove(file)"> <i class="el-icon-delete" /> </span> </span> </div> </el-upload> </el-form-item>为什么没有执行回调函数@success="handleUploadSuccess
可能有以下几种原因导致回调函数没有执行:
1. 上传过程中出现了错误,导致上传失败,因此回调函数不会被执行。你可以通过监听其他上传事件,如@error,来检查是否有上传错误发生。
2. 上传成功后,服务器返回的响应格式与期望的不一致,导致vue组件无法正确解析响应数据,因此回调函数不会被执行。你可以在浏览器的网络面板中查看上传请求的响应数据,看是否与期望的格式一致。
3. 在上传组件的使用过程中,可能存在其他因素导致回调函数无法执行。你可以检查组件的其他配置参数是否正确设置,或者在vue组件的mounted钩子函数中打印出回调函数,检查是否被正确绑定。
el-upload在on-success中带参数
在ElementUI的upload组件的on-success钩子中,只能传递response、file和fileList这三个参数。如果想要传递更多的参数,可以通过使用匿名函数来实现。在匿名函数中,可以调用自定义的函数,并将额外的参数作为参数传递给该函数。例如,在el-upload的on-success属性中,可以使用匿名函数来调用imgHandleSuccess函数,并将response和scope.row作为参数传递给该函数。具体代码如下所示:
```html
<el-table-column label="图片">
<template slot-scope="scope">
<el-upload :action="imgURL" :on-success="function(response) { imgHandleSuccess(response, scope.row) }">
<el-button size="small" type="primary">上传图片</el-button>
</el-upload>
</template>
</el-table-column>
```
在这个例子中,imgHandleSuccess函数会接收两个参数,response和scope.row。这样就可以在on-success中传递额外的参数了。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [Vue - el-upload 组件在 on-success 文件上传成功的钩子中传递更多参数](https://blog.csdn.net/Jie_1997/article/details/121833421)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [el-upload组件如何在on-success文件上传成功的钩子中传递更多参数](https://blog.csdn.net/louxinuo/article/details/120247565)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文