我创建了WebApi项目并具有Get方法。
public HttpResponseMessage Get()
{
List<Student> students;
List<StudentVM> studentsvm = new List<StudentVM>();
using (SchoolEntities sc = new SchoolEntities())
{
students= sc.Students.ToList<Student>();
}
foreach (Student s in students)
{
StudentVM svm = new StudentVM { Sid = s.Id, Sname = s.Name };
studentsvm.Add(svm);
}
return Request.CreateResponse(HttpStatusCode.OK, studentsvm);
}
使用URL请求http://localhost:3735/api/values
,我得到了数据。我什至在这里设定了一个断点。因此,当刷新上面的URL时,会遇到断点。
在同一项目中,我创建了一个html页面,并具有以下代码。
<script type="text/javascript">
$(document).ready(function (e)
{
var ulemp = $('#ulemp');
$('#showemp').click(function () {
$.ajax({
type: 'GET',
Url: 'http://localhost:3735/api/values',
datatype: 'json',
success: function (data, jqXHR) {
console.log(jqXHR);
ulemp.empty();
ulemp.append(data.value);
},
error: function () {
console.log("There is an Error");
}
})
});
});
</script>
<body>
<button id="showemp" name="showbtn"> Show Employees</button>
<button id="clear" name="clearbtn">Clear</button>
<p id="ulemp"></p>
</body>
但是我没有任何错误也没有任何回应。我经历了许多与WebApi和Ajax调用有关的堆栈溢出问题。大部分问题尚未解决,有些已解决,但有一些小错误,我已经证实了这一点。
当前我正在将VS2012与jquery 1.7.1一起使用
如果有人能指出我所缺少的内容,我真的很感激。
答案 0 :(得分:0)
您启用了CorsAttribute吗?如果没有,则将其添加到全局或Get方法
上 [EnableCors(origins:"*",headers:"*",methods:"*")]
public HttpResponseMessage Get()
{
//method body
}