从http请求中捕获正文内容

时间:2016-10-24 11:38:08

标签: javascript asp.net asp.net-web-api

我正在使用web api开发Web应用程序。我遇到的问题是关于捕获http请求正文。这是我在控制器中使用的功能:

        // GET: api/Factories
        public IQueryable<Factory> GetFactories([FromBody] string region)
        {
            ///////// I SET MY BREAKPOINT HERE
            Continents c = Continents.World;

            if (region==null)
            {
                return db.Factories;
            }

            switch (region)
            {
                case "Europe":
                    c = (Continents)0;
                    break;
                case "Asia":
                    c = (Continents)1;
                    break;
                case "Africa":
                    c = (Continents)2;
                    break;
                case "North_America":
                    c = (Continents)3;
                    break;
                case "South_America":
                    c = (Continents)4;
                    break;
                case "Australia":
                    c = (Continents)5;
                    break;
            }

            if (c == Continents.World)
            {
                return db.Factories;
            }
            else
            {
                var result = db.Factories.Where(factory => factory.region == c);
                return result;
            }
        }

我在代码中标记的行中设置了断点。我的函数参数字符串为null。所以看起来函数永远不会从请求体中获取适当的数据。 这是发送请求的java脚本函数:

function findFactories(){
        var regionForSearch = $('#continentsDropDown').val();

        // Send an AJAX request
        $.ajax({
            url: uri1,
            method: "GET",
            dataType: "json",
            data: { //THE IMPORTANT PART
                region: regionForSearch
            }
        })
          .done(function (data) {
              // On success, 'data' contains a list of products.
              $.each(data, function (key, item) {
                  $('<li>', { text: formatItem(item) }).appendTo($('#factories'));
              });

              iscrtajMapu();
          });
    }

在写入的行中重要的是我猜可能存在错误的地方。我的问题是,任何人都可以看到这里的问题是什么?它是java脚本函数还是我的c#后端?此外,还有可能的修复或任何建议。提前致谢。

0 个答案:

没有答案