我参加了两个项目。一个用于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返回值。
答案 0 :(得分:0)
要么:
1)将Index()
方法编辑为:
[HttpGet]
public JsonResult Index()
{
return Json("Hello world", JsonRequestBehavior.AllowGet);
}
或
2)从jquery ajax调用中删除dataType: "JSON"
。