簡體   English   中英

ASP.NET Web API 中的表單

[英]Form in ASP.NET Web API

我的 Web API 中的表單有問題。 表格非常簡單。 用戶輸入一個字符串,控制器接收該字符串並將其插入到帶有 id 的數據庫中。 與數據庫的連接有效,我可以安全地從中讀取。

編輯這是控制器中的代碼。 編輯 2這是正確且有效的控制器

public ActionResult PostMyData(string json) 
{
        try
        {
            var newEntry = new Questions() { Id = json.Id, Question= json.Question};
            context.Questions.Add(newEntry);
            context.SaveChanges();
            return Ok();
        } 
        catch (Exception e)
        {
            return BadRequest();
        }
}

這是 HTML 頁面的一部分。 編輯這是不返回錯誤的更新腳本。 編輯 2這是正確且有效的腳本

<script language="Javascript">
    $(document).on('click', '#submitButt', function () {
        var myquestion = $('#question').val();
        var json = {
            Id : 1,
            Question: myquestion
        }
        $.ajax({
            type: "POST",
            url: "api/Simple",
            data: JSON.stringify(json),
            dataType: "json",
            contentType:"application/json",
            success: function (data) {
                alert(data);
            },
            error: function (data) {
                alert("An Issue has occured");
            }
        });
    })
</script>

關於您的場景,您可以執行以下操作:

<input type="text" id="question" name="question" />
<input type="button" id="submitBtn" name="submitBtn" value="Send"/>

<script>
$(document).on('click', '#submitBtn', function () {
    var myquestion=$('#question').val();
    var json = {
      myquestion: myquestion
     };

     $.ajax({
       type: 'POST',
       url: "api/Simple/PostMyData",
       dataType: "json",
       data: JSON.stringify(json),
       contentType: "application/json",
       success: function (data) {
        alert(data);
       },
       error: function (data) {
        alert("An Issue has occured");
       }
    });
}) 
</script>

你的Controller看起來像:

    using System.Web.Script.Serialization;

    [HttpPost]
    public ActionResult Post([FromBody] string json) 
    {
        var serializer = new JavaScriptSerializer();
        dynamic jsondata = serializer.Deserialize(json, typeof(object));

        //Get your variables here from AJAX call
        var myquestion= jsondata["myquestion"];
        try
        {
            var newEntry = new Question() { Id = 1, Question= myquestion};
            context.Question.Add(newEntry);
            context.SaveChanges();
            return Ok();
        } catch (Exception e)
        {
            return BadRequest();
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM