我有一個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