2016-11-17 53 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) 
相关问题