Dropbox API:通过 Ajax 将数据发送到控制器

Dropbox API: Sending Data Via Ajax to Controller

本文关键字:控制器 数据 API 通过 Ajax Dropbox      更新时间:2023-09-26

我正在使用 Dropbox API JavaScript 选择器,并希望将响应中的数据返回到我的控制器

Dropbox API 的 Javascript 选项

options = {
    success: function (files) {
        $.ajax({
            url: '/FileTransfer/FileData',
            type: "POST",
            dataType: "json",
            //data: JSON.stringify(files[0]),
            data: files,
            success: function (result) {}
        });
    },
    cancel: function () {},
    linkType: "preview", 
    multiselect: true
};

控制器操作

我的控制器操作目前不做任何事情,但一旦我可以将数据传递到模型中,最终会将输出数据缓存到模型中,因此这是我的问题。

    public JsonResult FileData(string model)
    {
        return Json(new { success = true });
    }

> 艾迪森的提示帮助我解决了我的问题,谢谢

更改

了下面的代码,请注意对数据的更改:然后在控制器中反序列化

爪哇语

options = {
    success: function (files) {
        $.ajax({
            url: '/FileTransfer/FileData',
            type: "POST",
            dataType: "json",
            data: { result : JSON.stringify(files) },
            //data: files,
            success: function (result) {
                $("#FileList").load('/FileTransfer/Cloud');
                console.log(result);
             },
            error : function (jQXHR, textStatus, errorThrown) {
                //alert("An error occurred: " + jQXHR.status + " " + textStatus + " " + errorThrown);
            }
        });
    },
    cancel: function () {},
    linkType: "preview", 
    multiselect: true
};

控制器

    public JsonResult FileData(string result)
    {
        var convertedResult = JsonConvert.DeserializeObject<List<DropboxFile>>(result);
        CacheEntity(convertedResult);
        return Json(new { success = true });
    }

根据建议重构代码

爪哇语

options = {
    success: function (files) {
        $.ajax({
            url: '/FileTransfer/FileData',
            type: "POST",
            dataType: "json",
            data: { result : files},
            success: function (result) {
                $("#FileList").load('/FileTransfer/Cloud');
            },
            error : function (jQXHR, textStatus, errorThrown) { }
            });
        },
        cancel: function () {
    },
    linkType: "preview", 
    multiselect: true 
};

控制器

public JsonResult FileData(List<DropboxFile> result)
{
    CacheEntity(result);
    return Json(new { success = true });
}