【发布时间】:2018-05-08 02:03:31
【问题描述】:
我是 Ajax 的新手,我已经在 get 方法中编写了我的 Api,它的返回值成功我已经在 Web 控制台和提琴手中看到了它,但是我对 Web api 的 ajax 调用在文档准备好时没有得到任何值功能并且在浏览器控制台中也没有出现任何错误我不知道为什么,请任何人在这里帮助我,我附上我的 api 和 ajax 调用。
API:
[Route("api/GetCompanyName")]
[HttpGet]
public List<Company> GetCompanyName()
{
var Compname = getcompName();
return Compname;
}
public List<Company> getcompName()
{
var CompName = new List<Company>();
SqlConnection con = new SqlConnection(ConnString);
con.Open();
SqlCommand cmd = new SqlCommand("Select * From Company_table", con);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
CompName.Add(new Company
{
companyname = dr["Company_mtName"].ToString(),
//value = dr["Company_Name"].ToString()
});
}
con.Close();
return CompName;
}
Ajax 调用:
<script type="text/javascript">
$(document).ready(function () {
$.ajax({
url:'192.168.1.6:68/api/GetCompanyName',
type:'GET',
dataType:'JSON',
crossDomain:true,
success: function(data,xhr){
alert(data);
}
});
});
</script>
【问题讨论】:
-
192.168.1.6:68/api/GetCompanyName缺少http://? -
对于跨域你可能需要使用 JSONP 而不是 JSON
-
@MadOX 请告诉我有关 jsonp 的信息
-
它就像一个普通的 JSON,代码上所有的 js 都是一样的。 en.m.wikipedia.org/wiki/JSONP
标签: javascript ajax asp.net-mvc asp.net-web-api2