zoukankan      html  css  js  c++  java
  • mvc5 webap2 前台如何使用 ajax 请求后台API

    按照正常的写法,总是出现404错误,研究了很久,在这里找到了解决方案:http://buxuxiao.com/article/using-jquery-to-post-frombody-parameters-to-web-api

    现在总结一下,

    单个参数的情况下:

    1、后台参数正确的写法如下:

            
    [Route("Services/{controller}/{action}")]
    [HttpPost]
    [HttpGet]
    public string UploadTransportNetworkAlarmChat([FromBody]string obj)
    {
    ... }

    必须在参数列表前面加上[FormBody]标签。

    2、前台的参数,仍然以key-value方式添加,但KEY的名字必须置为空:

    $.ajax({
                    type: "POST",
                    url: "../Services/ChatTest/UploadTransportNetworkAlarmChat",
                    data: {"":"helloWorld"},
                    dataType: 'JSON',
    })

    多个参数的情况下,

    1、后台需要定义实体类,参数列表中不用增加[FromBody]标签,如下:

        public class tempObj
        {
            public string imgBase64 { get; set; }
            public string name { get; set; }
        }

    接收 方法:

    [Route("Services/{controller}/{action}")]
            [HttpPost]
            [HttpGet]
            public string UploadTransportNetworkAlarmChat(tempObj obj)
            {}

    2、前台仍然使用JSON

                var TempObj = { "imgBase64": image, "name": "helloWorld" }
                $.ajax({
                    type: "POST",
                    url: "../Services/ChatTest/UploadTransportNetworkAlarmChat",
                    data: TempObj,
                    dataType: 'JSON',
                })
                  .done(function (data) {
                      alert("Data Loaded: " + data);
                  });
  • 相关阅读:
    存储过程
    需要再研究的题目
    sql(SqlServer)编程基本语法
    sql查询语句
    SQL常用增删改查语句
    SQLserver
    三大范式
    四种约束
    数据库
    学习实践:使用模式,原则实现一个C++自动化测试程序
  • 原文地址:https://www.cnblogs.com/perpetual/p/3769927.html
Copyright © 2011-2022 走看看