c# - 从 JSON post 返回成功消息

标签 c# json angular2-forms

我有以下内容可以将 JSON 发布到 C# Web API:

submitForm(data: any): Observable<Response> {
    return this.http.post(
        'https://localhost:44396/api/PostNewComputer/AddItem/?=', data,
        { headers: new Headers({ 'Content-Type': 'application/x-www-form-urlencoded' }) }).subscribe(data => { return "test"; });
}

API Controller :

public class PostNewComputerController : ApiController
    {
        [HttpPost]
        public IHttpActionResult AddItem(HttpRequestMessage request)
        {

            //var dynamicObject = Json.Decode(jsonString);
            var jsonString = request.GetQueryNameValuePairs();

            string message;

            using (SqlConnection con = new SqlConnection("data source = MYSERVER; initial catalog = AssetDB; integrated security = SSPI; persist security info = True; Trusted_Connection = Yes"))
            {
                using (SqlCommand cmd = new SqlCommand("POST_NEW_COMPUTER", con) { CommandType = CommandType.StoredProcedure })
                {
                    try
                    {
                        cmd.Parameters.Add(new SqlParameter("@JSON_TEXT", SqlDbType.NVarChar)).Value = jsonString;

                        con.Open();
                        cmd.ExecuteNonQuery();

                        con.Close();

                        message = "Item Successfully Added";
                    }
                    catch (Exception e)
                    {
                        //throw e;
                        message = e.Message;
                    }

                }

                return Ok(message);
            }
        }
    }

我正在尝试从 POST 调用创建一条响应消息,然后在用户提交表单时将其反馈到网页以表明该帖子已生效。

但是,当前的设置不起作用,我正在努力解决这个问题。

是否有正确的方法来正确执行此操作?

最佳答案

使用 HttpResponseMessage 回传消息为:

[HttpPost]
[ResponseType(typeof(string))]
public HttpResponseMessage AddItem(HttpRequestMessage request)
{
    HttpResponseMessage response = null;
    string message = string.Empty;

    try 
    {
        .....

        message = "Item Successfully Added";
    }
    catch (Exception e)
    {
        .....

        message = e.Message;
    }

    response = Request.CreateResponse<string>(HttpStatusCode.OK, message);
    return response;
}

关于c# - 从 JSON post 返回成功消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43718997/

相关文章:

java - 将java日期转换为json日期

Angular2 - 不同级别组件之间的持久服务

forms - Angular2 - 如何将表单上的 `touched` 属性设置为 true

javascript - 无法解析要发送到 View 的 JSON 值

java - Android 中如何从 URL 中读取 json 数据

Angular 2+ Material mat-chip-list formArray验证

c# - 专辑插图未编码

c# - 任务不能并行运行

c# - 如何在没有自己的构造函数的情况下在基类型的函数中调用泛型类型的构造函数?

c# - 使用 Selenium WebDriver 获取默认下载文件夹路径