我尝试使用FormCollection而不是模型。 我创建了我的AJAX请求:
myData = {
id: '1',
name: $("#name").val()
};
$.ajax({
type: "GET",
url: '/testController/Test',
data: JSON.stringify(myData),
contentType: 'application/json; charset=utf-8',
success: function (data) {
// do something
},
error: function (erro) {
console.debug(erro);
}
});
我的FormCollection控制器
[HttpGet, ValidateInput(false)]
public JsonResult Test(FormCollection formData)
{
string name = formData["name"].ToString();
}
但是,我的formData始终为null。有谁知道为什么?
由于
答案 0 :(得分:1)
如果您正在提出GET请求,那么您实际上是在提出此请求。您需要通过Request['id']
& Request['name']
。
请求URI:/testController/Test?id={data_id}&name={data_name}
请求正文:<empty>
但是,如果您要发出POST请求,则表示您提出此请求:
请求URI:/testController/Test
请求正文:{"id":"data_id","name":"data_name"}
解析请求正文,您可以通过FormCollection
访问数据。这就是为什么当你发出GET请求时FormCollection
总是为空。