微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – Jquery Ajax无法从ASP.NET WEB API获取数据

我是APS.NET MVC WEB API编程的新手.

所以这是我的问题,我已经使用以下代码创建了一个ASP.NET WEB API项目

 public class ValuesController : ApiController
{
    // GET api/values
    public IEnumerable<Employee> Get()
    {
        return new List<Employee>()
        {
            new Employee(){ EmpId=1,EmpName="xyz" },
            new Employee(){EmpId=2,EmpName="abc"}
        };
    }

    // GET api/values/5
    public Employee Get(int id)
    {
        return new Employee() { EmpId = id, EmpName = "xyz" };
    }

}

简单吧.. !!

我做的下一件事是创建一个html文件并编写一个ajax方法来从web api获取数据

 $(function () {
            var obj = {};
            $.ajax({

                type: "GET",
                url: "http://localhost:2797/api/values/1",
                data: JSON.stringify(obj),
                dataType: "JSON",
                contentType: "application/json; charset=UTF-8",
                success: function (data) {
                    alert(data.EmpName);
                },
                failure: function (data) {
                    alert("Error Occured");
                }

            });

        });

在这里是我的jquery脚本能够联系到webapi的问题,因为当html页面获得刷新时断点断开并且它也返回值但是由于某些未知原因,Success函数中的警报消息不会被击中.我不知道为什么

请帮忙

提前致谢..!!

解决方法:

我终于找到了解决方

首先转到工具 – > Nuget包管理器 – >包管理器控制台

键入此命令安装包Microsoft.AspNet.WebApi.Cors -IncludePrerelease

然后在WebApiConfig.cs中添加此行config.EnableCors();

现在装饰你的apicontroller这个属性[EnableCors(起源:“*”,标题:“*”,方法:“*”)]

但是当使用post方法消费api时,我们可能会遇到cors属性的一些问题

所以要避免它.我们可以全局声明cors属性

就像在WebApiConfig.cs中编写这段代码一样

var cors= new EnableCorsAttribute(origins:"*",headers:"*",methods:"*");
config.EnableCors(cors);

现在是jquery代码

$(document).read(function(){
    jquery.support.cors=true;
    $.ajax({
           type:"GET",
           url:"http://localhost:63300/api/values/1",
           crossDomain:true,
           contentType:"application/json; charset=utf-8",
           dataType:"json",
           success:function(data){
                alert(data);
           },
            error:function(data){
                alert('Error Occured..!');
            }
          });
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐