【问题标题】:How to pass multiple parameters using web-api如何使用 web-api 传递多个参数
【发布时间】:2015-01-27 03:13:51
【问题描述】:

我想在 web-api 中使用 json 传递两个参数,但每次尝试时我都会得到 null,我错过了什么?有没有更好的方法来传递多个参数?

//HTML

var uri = "api/Login";

//当我点击一个按钮后这个函数触发

function checkUser() {
        var email = "ttt@ggg.com";   
       var password = "itsme";
          var details = "{ email:'"+ email+"', pass:'"+ password+"'}";           
        $.ajax({
            type: "Get",          
            data: JSON.stringify(details),
            url: uri,
            contentType: "application/json"
        });
    }

// 登录控制器

[HttpGet]
public HttpResponseMessage Get([FromBody]string  data)
{
     HttpResponseMessage msg = null;
     //the code run this function, but the 'data' is null
     string userinfo = data;                    
     return msg;
}

【问题讨论】:

    标签: ajax json asp.net-web-api


    【解决方案1】:

    除了@su8898 指出的 GET 与 POST 问题之外,您已经在details 中构建了一个字符串,然后尝试stringify 它。您应该像这样将详细信息定义为对象字面量:

    var details = {
        'email': email,
        'pass': password
    };
    

    这将为您提供stringify 的实际对象。

    【讨论】:

      【解决方案2】:

      [FromBody] 属性不适用于GET 请求,因为GET 请求中没有正文。

      您必须将值作为参数传递或将方法更改为[HttpPost]。建议你把方法改成[HttpPost],把你的ajax请求方法改成POST

      [HttpPost]
      public HttpResponseMessage Get([FromBody]string  data)
      {
          HttpResponseMessage msg = null;
          //the code run this function, but the 'data' is null
          string userinfo = data;                    
          return msg;
      }
      

      在您的ajax 请求中

      function checkUser() {
          var email = "ttt@ggg.com";   
          var password = "itsme";
            var details = "{ email:'"+ email+"', pass:'"+ password+"'}";           
          $.ajax({
              type: "POST",          
              data: JSON.stringify(details),
              url: uri,
              contentType: "application/json"
          });
      }
      

      【讨论】:

      • uri 会是什么样子?
      猜你喜欢
      • 1970-01-01
      • 2014-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-25
      • 1970-01-01
      相关资源
      最近更新 更多