Angular$http发布到MVC操作,参数为null
Angular $http post to MVC action, parameter is null
所以我做这篇文章:
$http.post(Common.blog.save, { blog: blog })
.then(saveBlogComplete)
.catch(function(message) {
});
我在fiddler输出中得到了这个:
{"blog":{"title":"Chicken Is Good","content":"#Chicken Is Good'n##Contents'n* Introduction'n* Factfile'n* Analysis'n* Evaluation'n* Conclusion'n###Introduction'n'n###Factfile","dateAuthored":"","userId":""}}
在我的行动中:
[HttpPost]
public JsonResult Save(string blog)
{
var desBlog = JsonConvert.DeserializeObject<BlogDto>(blog);
return this.ExecuteService(() => this.blogService.Save(desBlog));
}
string blog
将返回null。。。。我不知道为什么会发生这种事?
我已经完成了以下
- 在JavaScript中放置断点-正在填充数据
- 查看Fiddler输出-数据与JavaScript obj相同
- 在Action中放置断点-它被调用,HttpContext中没有任何关于POST数据的数据
如果您将mvc操作参数从String
更改为Blog
:,那么您的代码将在没有stringify
函数的情况下工作
public class Blog
{
public string Title {get; set;}
public string Content {get; set;}
public DateTime DateAuthored {get; set;}
public long UserId {get; set;}
}
[HttpPost]
public JsonResult Save(Blog blog)
{
发生这种情况是因为服务器端的blog
模型与从angular传递参数的结构不匹配。
我只需要stringify
数据!
$http.post(Common.blog.save, { blog: JSON.stringify(blog) })
.then(saveBlogComplete)
.catch(function(message) {
});
相关文章:
- 根据函数参数将CSS值存储在var中,然后对其进行操作
- 从 javascript 获取 MVC 控制器中的操作参数时出错
- 使用参数从视图中调用操作
- 无法使用angularjs$http请求将参数发送到服务器操作方法
- 将参数从anchor标记发送到struts2操作
- 在Struts2中将参数从视图传递给操作
- 选择菜单的操作中的成员2参数
- JS 函数将对象作为输入,并返回一个对象,该对象对作为参数传递的对象执行操作
- 将java脚本变量传递给相同的表单操作php文件参数
- jQuery:$.ajax() 重定向到其 URL 表单操作参数,而不是对表单操作执行 AJAX 请求
- 控制器操作参数未从 AJAX 开机自检正确填充
- 将参数从 JavaScript 中的剑道窗口刷新传递给控制器操作
- Ajax 无法使用带有 2D 数组参数的 C# 控制器操作
- ajax 调用控制器操作,将对象作为参数
- 如何访问由 javascript 中的操作传递的参数
- 调用 Struts2 操作,每个 jQuery DataTable 行中的参数
- 余烬使用计算属性作为操作参数
- JavaScript - 在哪些操作之后需要 toFixed() 以及应该传递什么参数
- 如何将参数传递给在 JQuery dialog() Open 事件上调用的操作
- Web API 控制器操作参数始终为 null