我有一个ASP.NET
MVC
解决方案的ajax
调用一个控制器,看起来像这样:AJAX调用控制器动作用一个对象作为参数
$.ajax({
url: "ControllerClass/ControllerMethod?date=" + date,
type: "POST",
dataType: 'json',
contentType: 'application/json; charset=utf-8',
success: function (result) {
globalVariable = result; // This is for later...
DoSomething(result);
},
async: true,
processData: false
})
一旦控制器已完成了服务器上所有工作侧时,它返回其包含不同的属性类型(一个Int,int数组和对象列表)
方式的对象,我返回从控制器回JS文件数据是...
return Json(new
{
summary = objectResult
});
的一点是,从JavaScript的,现在我想打电话与在我的JavaScript这样定义的,我已经保存在我的全局变量的信息,不同的控制器:那VAR位于
var globalVariable
在我的JS文件的顶部...
嗯,我想再打我的控制器与该变量的方式是这样的:
$.ajax({
url: "ControllerClass/ControllerMethod?result=" + globalVariable,
type: "POST",
dataType: 'json',
contentType: 'application/json; charset=utf-8',
success: function (result) {
DoSomethingNewWithThisresult(result)
},
async: true,
processData: false
})
这是我的控制器在C#中。
public IActionResult ControllerMethod(JsonResult result)
{
DoSomethingHereWithTheResult(result);
}
为什么如果我在最后一个控制器上放置一个断路器,结果变量是空的?我检查了Chrome,该变量包含了我正在寻找的所有数据。实际上,如果我只是通过对象的属性之一,它会转到控制器上,但我无法传递整个对象...
这正是我需要什么!我没有意识到Ajax上的数据属性:)谢谢! – user3587624