Dropbox API:通过 Ajax 向控制器发送数据
Dropbox API: Sending Data Via Ajax to Controller
我正在使用 Dropbox API JavaScript Chooser 并希望 return 将响应中的数据输入我的控制器
Dropbox 的 Javascript 选项 API
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 });
}
ADyson的提示帮我解决了问题,谢谢
修改下面的代码,注意数据的变化:然后在控制器中反序列化
Javascript
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 });
}
根据建议重构代码
Javascript
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 });
}
我正在使用 Dropbox API JavaScript Chooser 并希望 return 将响应中的数据输入我的控制器
Dropbox 的 Javascript 选项 API
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 });
}
ADyson的提示帮我解决了问题,谢谢
修改下面的代码,注意数据的变化:然后在控制器中反序列化
Javascript
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 });
}
根据建议重构代码
Javascript
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 });
}