普通网友 2017-04-25 04:39 采纳率: 0%
浏览 767

bootstrap uploadfile里面的extra不传参到后台

initialPreviewConfig: [
{
caption: 'desert.jpg',
width: '120px',
url: 'http://localhost/avatar/delete', // server delete action
key: 100,
extra: {id: 100}
}
]

key值可以传递,但是是一delete的方式传递,而不是post
但是extra的id就是不传到服务器。通过火狐的请求头看到只有key值post传递了

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-05 19:23
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在Bootstrap的UploadFile组件中,extra属性用于指定上传文件时附加的额外信息或参数。这些信息可以在服务器端处理。

    然而,在您的情况下,您提到的extra属性似乎并没有被正确地传递到服务器端。这可能是由于以下原因:

    1. extra属性可能没有正确设置为一个对象。
    2. extra属性可能被错误地设为一个字符串(例如"{'id': 100}")而未使用双引号包裹。
    3. 在前端和后端之间存在通信问题,导致extra属性无法正确传输。

    要解决此问题,请尝试以下步骤:

    首先,确保extra属性是一个对象,如下所示:

    var config = {
        initialPreviewConfig: [
            {
                caption: 'desert.jpg',
                width: '120px',
                url: 'http://localhost/avatar/delete',
                key: 100,
                extra: {'id': 100}
            }
        ]
    };
    

    其次,将上述配置发送给服务器。您可以使用AJAX发送HTTP POST请求,并在响应中检查extra属性是否已成功传输。

    这是一个示例请求:

    $.ajax({
        type: "POST",
        url: "your-server-url/upload-file.php",
        data: JSON.stringify(config),
        contentType: "application/json",
        success: function(response) {
            console.log("Extra ID:", response.extraId);
        },
        error: function(xhr, status, error) {
            console.error("Error:", xhr.responseText);
        }
    });
    

    请注意,这只是一个基本示例。您可能需要根据实际需求调整代码。例如,如果您希望从服务器获取额外ID,您可以在服务器端编写相应的逻辑。此外,如果您的服务器支持JSONP,您还可以考虑使用它来发送数据。

    评论

报告相同问题?