Jquery 如何在web api MVC 6中启用跨源请求

Jquery 如何在web api MVC 6中启用跨源请求,jquery,asp.net-web-api,json.net,asp.net-core-mvc,Jquery,Asp.net Web Api,Json.net,Asp.net Core Mvc,我想使用jsonp从外部访问我的web api,以绕过跨站点脚本 [HttpGet("{email}")] public User Get(string email) { var user = (from usr in db.User join co in db.UserDetails on usr.id equals co.userId where co.email.Equals(email) || usr.email.E

我想使用jsonp从外部访问我的web api,以绕过跨站点脚本

[HttpGet("{email}")]        
public User Get(string email)
{
    var user = (from usr in db.User
            join co in db.UserDetails on usr.id equals co.userId
            where co.email.Equals(email) || usr.email.Equals(email)
            select usr).FirstOrDefault();

    return user;
}
下面是我的javascript代码

jQuery.ajax({
    type: "GET",
    url: "http://localhost:54381/api/userapi/test1@test.com",
    dataType: "jsonp",
    success: function (response) {
       var t = JSON.parse(response);
       alert(t.name);
    },
    error: function (jqXHR, textStatus, errorThrown) {
      alert("Error" + textStatus + "      " + errorThrown);
    }
});
因为我的错误越来越少

“parsererror”错误抛出错误: 未调用jQuery110206458149312522913_1441780598078

这里怎么了? 如何设置web api返回jsonp格式的结果?或者必须启用跨域代码来处理它?有什么我需要做的设置吗。 通过谷歌我发现JsonpMediaTypeFormatter可以用来获取数据。我如何在MVC6WebAPI中设置它


MVC6WebAPI似乎还有一些问题,我发现之后我会在这里添加这些问题。

您是否尝试过
products
属性

似乎,
products
属性允许您返回特定格式,而不考虑当前配置的格式化程序

生成应用于
方法级别
(我还没有测试它们是否适用于
控制器级别


这是不工作,现在我收到错误“NetworkError:406不可接受”我必须更改什么来解决此问题?
[HttpGet("{email}")]
[Produces("application/jsonp")]        
public Customer Get(string email)
{
...
}