zoukankan      html  css  js  c++  java
  • XHR2 和[FromBody]使用说明

    [FromBody]必须是application/json 否则会报415 不支持的类型

               
    
    //Forms
    function  FormsPost(data) { //Default Type x-www-form-urlencoding =>Form
        $.ajax({
            url: "/api/AgentAccount/PostForm",
            type: "post",                         
            datatype: "json",
            data: data,
            success: function (data) {
                alert('success');
            }
        }).fail(
        function (xhr, textstatus, err) {
            alert('error: ' + err);
        });
    }
    
    //[FromBody] Model
    function ModelPost(data) {
        $.ajax({
            url: "/api/AgentAccount/UserRegister",
            type: "post",                        
            contentType: 'application/json; charset=utf-8', 
            datatype: "json",
            data: JSON.stringify(data),//jSON.stringfy for Model transmit [FromBody] will be used;
            success: function (data) {
                alert('success');
            }
        }).fail(
        function (xhr,textstatus, err) {
            alert('error: ' + err);
        });
    }                
              
    //[FromBody] String
    function StringPost(data) {
        data = { "": "sds" };
        $.post('/api/AgentAccount/PostString', data);
        $.ajax({
            url: "/api/AgentAccount/PostString",
            type: "post",
            contentType: 'application/json; charset=utf-8',
            datatype: "json",
            data: data,
            success: function (data) {
                alert('success');
            }
        }).fail(
        function (xhr, textstatus, err) {
            alert('error: ' + err);
        });
    }
    
    //[FromBody] Image
    function XhrUploadImage() {
    
    }
    
    //[FromeBody] xhr.Model
    function XhrPostModel(data) {
        xhr = new XMLHttpRequest();                    
        xhr.open("POST", "/api/AgentAccount/UserRegister", true);   
        xhr.setRequestHeader('Content-Type', 'application/json');
        xhr.send(JSON.stringify(data));
        xhr.onreadystatechange = function (event) {
            if (4 == xhr.readyState) {
                if ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304) {
                    alert(xhr.responseText);
                } else {
                    alert('error:' + xhr.status);
                }
            }
        };
    }
    

     对应controller action

            [HttpPost("PostForm")]
            public JsonResult PostForm(string FullName)
            {
                var data = new
                {
                    username = "PostString"
                };
                return Json(data);
            }
    
            [HttpPost("UserRegister")]
            public JsonResult UserRegister([FromBody]AspNetUsers value)
            {
                var data = new {
                    username="sf"
                };
                return Json(data);
            }
    
            // POST api/values
            [HttpPost("PostString")]
            public JsonResult PostString([FromBody] string value)
            {
                var data = new
                {
                    username = "sf"
                };
                return Json(data);
            }
    

      

     

  • 相关阅读:
    C++中整型变量的存储大小和范围
    A1038 Recover the Smallest Number (30 分)
    A1067 Sort with Swap(0, i) (25 分)
    A1037 Magic Coupon (25 分)
    A1033 To Fill or Not to Fill (25 分)
    A1070 Mooncake (25 分)
    js 获取控件
    C#代码对SQL数据库添加表或者视图
    JS 动态操作表格
    jQuery取得下拉框选择的文本与值
  • 原文地址:https://www.cnblogs.com/liangxiaofeng/p/5823238.html
Copyright © 2011-2022 走看看