对于web api 从页面post数据到web api,如果用ajax,则可以成功上传到服务器,需要一个类来存储那些变量

来源:互联网 发布:1998鹿鼎记 gotv源码 编辑:程序博客网 时间:2024/05/20 05:54

post  表单提交  如果提交的是两个或多个的,与ajax提交的方式是一样的(目前测试是这样的),如果是一


个“text”文本,则当提交的数据为后面属性的第一个,后面的则为空(此时用的是类),如果是 
public string Test(string k)
        {
            return k;
        }
则会出错,而用ajax则不会出错


4.对于web api 从页面post数据到web api,如果用ajax,则可以成功上传到服务器,需要一个类来存储那些变量,



需要注意数据的格式的写法,如果只有单个变量,则 data:{" ":"value"}的写法,如果是多值且用的是一个类则


(都要与参数对应   data:{"name":"jim","sex":"male"},起来)

<script>
        $("#but").click(function () {
            $.ajax({
                type: "post",
                url: "api/Default2/Test",
                data:{"name":"jim","sex":"male"},
                success:function(data,textStatus)
                {
                    alert(data);
                },
                error:function(xmlHttpRequest,textStatus,errorThrown)
                {


                },
                dataType:"json"
            })
        })
    </script>


。cs///
  public class Default2Controller : ApiController
    {
        //
        // GET: /Default2/


        public string Test(Class1 k)     /////这地方也没有指定 [HttpPost]和[FromBody]有点奇怪
        {
            return k.name;
        }


    }


对比:如果用的不是类,而是一个string name like   
  public string Test(string k)     /////这地方也没有指定 [HttpPost]和[FromBody]有点奇怪
        {
            return k;
        }
则要这样写--{"":"jim"},不能加前面的key,如果是多个参数,则需要放一个类,与上面一样, 总结:单个参数


的,在传参过程中不能有key,如果是多个参数,则需要加一个类来存储,然后传参过程中必须要有key与之对应,否


则取不到值。
0 0
原创粉丝点击