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

时间:2015-09-09 06:02:27

标签: 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.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" errorThrown错误:   jQuery110206458149312522913_1441780598078未被调用

这里有什么问题? 如何设置为web api返回jsonp格式化结果?或者必须从代码中启用跨域来处理它?有什么设置我需要做。 谷歌我发现JsonpMediaTypeFormatter可用于获取数据。我如何在MVC 6 web api中设置它。

似乎mvc 6 web api还有一些问题,我在此之后想出来,我会在这里添加。

0 个答案:

没有答案