Dropzone上传图片后如何获取返回的product_id并实现页面跳转
解决Dropzone上传后获取后端返回ID并跳转页面的问题
你当前代码的核心问题是没有正确解析后端返回的JSON字符串,导致无法获取id_producto值。以下是两种可行的解决方案:
方案1:手动解析JSON字符串
在Dropzone的success回调中,先将后端返回的字符串解析为JSON对象,再获取ID并执行跳转:
success: function (file, data) { // 将后端返回的JSON字符串转为JS对象 const res = JSON.parse(data); // 直接提取产品ID const idProducto = res.id_producto; // 跳转到目标页面 window.location.href = `restable.php?id_producto=${idProducto}`; },
方案2:配置Dropzone自动解析JSON
给Dropzone添加responseType: 'json'配置,让它自动把后端响应转为JSON对象,省去手动解析步骤:
Dropzone.options.myDropzone= { // 保留原有配置... responseType: 'json', // 新增该配置项 // ... success: function (file, data) { // 此时data已为解析好的对象,直接取ID const idProducto = data.id_producto; window.location.href = `restable.php?id_producto=${idProducto}`; }, // 保留原有配置... }
额外优化建议
为确保后端返回的JSON能被前端正确识别,建议在PHP代码中添加响应头声明:
header('Content-Type: application/json'); // 新增该行 $data = array( 'id_producto' => $id_producto, ); echo json_encode($data);
这样浏览器会明确识别返回内容为JSON格式,避免解析异常。
内容的提问来源于stack exchange,提问作者Tremarctos
相关产品推荐
相关产品推荐

