Jquery Asp.net Web API在ajax调用中出现错误
我已经创建了ASP.NETWebAPI服务并托管了它。当我与Fiddler进行检查时,该服务工作正常,但当我通过jQueryAjax调用该服务时,它不工作,也没有收到任何错误。 我尝试调用不同的API方法,但遇到了相同的问题 WebAPI:Jquery Asp.net Web API在ajax调用中出现错误,jquery,asp.net-mvc-4,asp.net-web-api,Jquery,Asp.net Mvc 4,Asp.net Web Api,我已经创建了ASP.NETWebAPI服务并托管了它。当我与Fiddler进行检查时,该服务工作正常,但当我通过jQueryAjax调用该服务时,它不工作,也没有收到任何错误。 我尝试调用不同的API方法,但遇到了相同的问题 WebAPI: namespace WebApi.Controllers { public class ValuesController : ApiController { // GET api/values public I
namespace WebApi.Controllers
{
public class ValuesController : ApiController
{
// GET api/values
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/values/5
public string Get(int id)
{
return "value";
}
// POST api/values
public string Post(Interview Interview)
{
return "Date: " + Interview.DateOfSurvey + " \n rdInterviewObtained: " + Interview.rdInterviewObtained + "\n txtWhowasinterOther: " + Interview.txtWhowasinterOther;
}
// PUT api/values/5
public void Put(int id, [FromBody]string value)
{
}
// DELETE api/values/5
public void Delete(int id)
{
}
}
}
似乎您正在某个按钮的.click处理程序中调用此AJAX方法。如果这是一个提交按钮,请确保通过从回调返回false来取消默认操作,否则AJAX调用可能永远没有时间执行 代码的另一个问题是,您已经指示jQuery使用CORS,但要使其正常工作,您需要Web API发送正确的响应头。您可能会读到以下内容,其中说明了如何在服务器上实现这一点
jQuery.support.cors = true;
$('#btnSave2').click(function () {
$.ajax({
url: 'http://url/api/Values',
type: 'GET',
success: function (data) {
alert('success');
},
error: function (x, y, z) {
alert('error');
alert(x + '\n' + y + '\n' + z);
}
});
return false;
});
它不起作用,你没有收到任何错误?那么,必须触发成功或错误回调。fiddler对您的ajax请求怎么说?在Chrome中打开控制台,查看错误是什么。您会收到“成功”警报还是“错误”警报?如果两者都不存在,那么您很可能在ajax调用之前出错。它在error函数下运行,但我没有收到任何错误响应。。。同样的,我也尝试过这个职位,但也不起作用
jQuery.support.cors = true;
$('#btnSave2').click(function () {
$.ajax({
url: 'http://url/api/Values',
type: 'GET',
success: function (data) {
alert('success');
},
error: function (x, y, z) {
alert('error');
alert(x + '\n' + y + '\n' + z);
}
});
return false;
});