我有像这样的POST方法
public void PostMethod([FromBody]string param)
{
var test = param;
}
简单的JS脚本
<script type="text/javascript">
$.ajax({
url: 'http://localhost:8101/sd/Localization/PostMethod',
type: 'POST',
data: {
param: 'test'
}
});
</script>
Ot工作得很好。 Ajax调用正在调用方法但是param为null:/ always。我不知道为什么。我无法让它运行。有人可以帮助我并告诉我正确的方向吗?
// update
也检查我创造了新项目的东西,以确保我没有破坏某些东西。即使在默认配置的新项目中,我也总是为空
答案 0 :(得分:2)
由于param
是简单类型,因此要使其适用于简单类型,您只需:
<script type="text/javascript">
$.ajax({
url: 'http://localhost:8101/sd/Localization/PostMethod',
type: 'POST',
data: {"" : 'test' }
}
});
</script>
如果你仍想像你那样发出POST请求,请定义你自己的强类型模型:
class YourModel
{
public string Param {get; set;}
}
所以你的行动:
public void PostMethod(YourModel param)
{
var test = param;
}
或使用JObject
:
public void PostMethod(JObject param)
{
var test = param;
}
更多信息:
http://www.asp.net/web-api/overview/working-with-http/sending-html-form-data,-part-1