【问题标题】:can't receive data from post call in my controller无法在我的控制器中接收来自 post call 的数据
【发布时间】:2016-03-28 14:56:17
【问题描述】:

我有一个 html 编辑器,我正在尝试通过 post call 发送数据。我可以在 javascript 中看到数据,它会点击 SendEmail 方法,但在我的控制器中,请求是空的。为什么在我的控制器中看不到数据?

 function SelectedReceipientsViewModel() {
 var self = this;
 self.packageDataForEmail = function () {   
    var request= tinymce.get("mailTextArea").getContent();
    return request;
};



self.submit = function () {
    var request = self.packageDataForEmail();
    $.post("SendEmail",request, function () {         
    }).done(function () {                  
    }).fail(function () {          
    });       
};
}

我的控制器:

[HttpPost]
public void SendEmail(string request)
{
    string message = request;
    ......
    ...
}

【问题讨论】:

  • 这看起来您没有传递有效的 URL 来发帖。假设您使用的是 Asp.Net MVC

标签: asp.net-mvc knockout.js http-post


【解决方案1】:

我创建了 DtoEblast 并在其中添加了我的属性。由于某种原因,字符串不起作用。无论如何,这是工作代码。

self.packageDataForEmail = function () {       
    var Request = function (tinymceText) {
        this.TinymceText = tinymceText;
    };      
    var tinymceText = tinymce.get("mailTextArea").getContent();
    var request = new Request(tinymceText);
    return request;
};


 [HttpPost]
    public void SendEmail(DtoEblast request)
    {
      string message = request.TinymceText;

如果没有这一行,它会给出 500 错误

<script>tinymce.init({forced_root_block : "",selector:'textarea'});</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-23
    • 1970-01-01
    • 1970-01-01
    • 2017-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-23
    相关资源
    最近更新 更多