亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

錯誤:Access-Control-Allow-Headers不允許請求標頭字段

錯誤:Access-Control-Allow-Headers不允許請求標頭字段

牧羊人nacy 2019-12-21 12:36:42
我使用vS2012創建了一個mvc4 Web API項目。我使用以下教程來解決跨域資源共享,“ http://blogs.msdn.com/b/carlosfigueira/archive/2012/07/02/cors-support-in-asp-net-web-api- rc-version.aspx”。它工作正常,并且我將數據從客戶端成功發布到服務器。之后,為了在我的項目中實現Autherization,我使用了以下教程來實現OAuth2:“ http://community.codesmithtools.com/CodeSmith_Community/b/tdupont/archive/2011/03/18/oauth-2-0-for -mvc-two-legged-implementation.aspx”。這有助于我在客戶端獲取RequestToken。但是,當我從客戶端發布數據時,出現錯誤, “ XMLHttpRequest無法加載http://。Access-Control-Allow-Headers不允許請求標頭字段Content-Type?!蔽业目蛻舳舜a看起來像 function PostLogin() {    var Emp = {};                Emp.UserName = $("#txtUserName").val();                 var pass = $("#txtPassword").val();    var hash = $.sha1(RequestToken + pass);            $('#txtPassword').val(hash);    Emp.Password= hash;    Emp.RequestToken=RequestToken;    var createurl = "http://localhost:54/api/Login";    $.ajax({        type: "POST",        url: createurl,        contentType: "application/json; charset=utf-8",        data: JSON.stringify(Emp),        statusCode: {                200: function () {                $("#txtmsg").val("done");                                       toastr.success('Success.', '');                                         }                },        error:            function (res) {                                        toastr.error('Error.', 'sorry either your username of password was incorrect.');                            }        });    };我的api控制器看起來像    [AllowAnonymous]    [HttpPost]    public LoginModelOAuth PostLogin([FromBody]LoginModelOAuth model)    {        var accessResponse = OAuthServiceBase.Instance.AccessToken(model.RequestToken, "User", model.Username, model.Password, model.RememberMe);        if (!accessResponse.Success)        {            OAuthServiceBase.Instance.UnauthorizeToken(model.RequestToken);            var requestResponse = OAuthServiceBase.Instance.RequestToken();            model.ErrorMessage = "Invalid Credentials";            return model;        }
查看完整描述

3 回答

?
幕布斯6054654

TA貢獻1876條經驗 獲得超7個贊

正如這篇文章所暗示的,chrome中的錯誤:Access-Control-Allow-Headers不允許Content-Type,只需將其他標頭添加到您的web.config中,就像這樣...


<httpProtocol>

  <customHeaders>

    <add name="Access-Control-Allow-Origin" value="*" />

    <add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />

  </customHeaders>

</httpProtocol>


查看完整回答
反對 回復 2019-12-21
?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

很有可能是由于跨域請求,但可能并非如此。對我來說,我一直在調試API并將其設置Access-Control-Allow-Origin為*,但似乎最新版本的Chrome需要額外的標頭。如果使用PHP,請嘗試在文件前添加以下內容:


header("Access-Control-Allow-Origin: *");

header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");

確保您尚未header在其他文件中使用過,否則將收到討厭的錯誤消息。有關更多信息,請參閱文檔。


查看完整回答
反對 回復 2019-12-21
  • 3 回答
  • 0 關注
  • 8656 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號