Jquery Asp.net Web API在ajax调用中出现错误

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

我已经创建了ASP.NETWebAPI服务并托管了它。当我与Fiddler进行检查时,该服务工作正常,但当我通过jQueryAjax调用该服务时,它不工作,也没有收到任何错误。 我尝试调用不同的API方法,但遇到了相同的问题

WebAPI:

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;
});