没有获得api返回值

时间:2016-09-21 09:00:03

标签: javascript asp.net-mvc

我参加了两个项目。一个用于apis,另一个用于显示apiresult。

这是我的api控制器:

 public class HomeController : ApiController
    {
        [HttpGet]
        public string Index()
        {
            return "Hello world";
        }
     }

这是我的显示控制器:

        public ActionResult Index()
        {
            return View();
        }

并且索引控制器的视图如下:

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

<input type="submit" value="Get Value" id="btnSubmit" onclick="GetData();" />

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<script type="text/javascript">
    function GetData() {
        var uri = 'http://localhost:50951/api/Home';
        $.ajax({
            url:uri,
            type: "Get",
            dataType: "JSON",
            success: function (data) {
                alert(data);
            },
            error: function (xhr, status, error) {
                alert("error");
            }
        });
    }
 </script>

当我点击GetData按钮时,它正在调用api,api返回字符串值。但是在javascript中我没有得到api返回值。

1 个答案:

答案 0 :(得分:0)

要么:

1)将Index()方法编辑为:

[HttpGet]
public JsonResult Index()
{
    return Json("Hello world", JsonRequestBehavior.AllowGet);
}

2)从jquery ajax调用中删除dataType: "JSON"