gpt4 book ai didi

javascript - Angular $http 发布到 MVC 操作,参数为空

转载 作者:行者123 更新时间:2023-11-30 17:13:45 25 4
gpt4 key购买 nike

所以我写这篇文章:

$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 传递参数的结构不匹配。

关于javascript - Angular $http 发布到 MVC 操作,参数为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26493824/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com