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);
            }
    

      

     

  • 相关阅读:
    Java虚拟机JVM学习01 流程概述
    Java虚拟机JVM学习02 类的加载概述
    Java虚拟机JVM学习03 连接过程:验证、准备、解析
    Java虚拟机JVM学习04 类的初始化
    代码块(1)
    AtomicInteger
    简单的爬信息
    String.valueOf(null) 报空指针
    图片预览上传
    护城河
  • 原文地址:https://www.cnblogs.com/liangxiaofeng/p/5823238.html
Copyright © 2011-2022 走看看