2016-11-17 58 views
2

我想將包含字符串和jstring的JavaScript對象傳遞給mvc控制器。這是我的代碼,我在控制器中獲得了空值。 非常感謝您的幫助。http後 - 傳遞一個javascript對象到mvc控制器

function setMultiQuestion(question, responses) { 
qaObject = new questionAnswerObj('q', [{'correct':true,'answer':'A1'}, {'correct':true,'answer':'A2'}];); 

$http.post(baseUrl + "Admin/insertMultiAnswers", { qaObject: qaObject }) 
    .success(function (data, status, headers, config) { 
    }) 
    .error(function (data, status, header, config) { 
    }); 
} 

public ActionResult insertMultiAnswers(string[] qaObject) 
{ 
    Console.Write(qaObject); 
} 
+0

什麼性質呢'qaObject'?如果您在C#(服務器端)中使用相同的屬性創建類,那麼您可以將該類型作爲POST動作的輸入參數 –

回答

1

您必須發送一個字符串到服務器。請使用:

$http.post(baseUrl + "Admin/insertMultiAnswers", { qaObject: JSON.stringify(qaObject) }) 

JSON.stringify功能將JavaScript對象轉換爲JSON文本,並將其存儲在一個字符串。

見參考文獻here

1

您可以將參數動態

public ActionResult insertMultiAnswers(string[] qaObject) 

改變

public ActionResult insertMultiAnswers(dynamic qaObject) 
相關問題