2017-10-30 1 views
0

私は約2週間問題を調査していますが、解決策が見つかりません。mvcへのポストを受信する生産現場で302(リダイレクト)を受信

私はプロダクション環境のリダイレクト(302)を受信して​​いるこのajax呼び出しを1回だけ持っています。

私が見つけたすべての可能性を探しましたが、これまでにリダイレクトが行われている理由が見つかりませんでした。

私は権限、コードのバージョン、IIS構成などを確認しましたが、何も問題を解決しませんでした。

リクエストは以下のとおりです。単純な.csvファイルのアップロードです。ホモロゲーションとプロダクション環境の両方でうまく動作している別の同様のリクエスト(実際は同一)があります。この呼び出しは動作していないだけで、本番環境用です。

Ajaxのポスト:

function SubmitButtonOnclick() { 
 
    var formData = new FormData(); 
 
    var file = document.getElementById("selecionaEmail").files[0]; 
 
    formData.append("selecionaEmail", file); 
 

 
    $.ajax({ 
 
     url: '@Url.Action("ModalEmailsUpload", "Mail")', 
 
     type: 'POST', 
 
     dataType: 'json', 
 
     data: formData, 
 
     contentType: false, 
 
     processData: false, 
 
     success: function (data) { 
 

 
      var count = 0; 
 
      $.each(data, function (i, item) { 
 
       count++; 
 
      }); 
 

 
      if (count > 0) { 
 
       $("#mensagem").css("color", "#3f8324"); 
 
       $("#mensagem").text("File uploaded. Choose one option:"); 
 
    
 
       if ($("#pfIncluir").is(":disabled")) { 
 
        $("#pfIncluir").removeAttr('disabled'); 
 
       } 
 

 
       if ($("#pfExcluir").is(":disabled")) { 
 
        $("#pfExcluir").removeAttr('disabled'); 
 
       } 
 
      } 
 

 
     }, 
 
     error: function (error) { 
 
      $("#mensagem").css("color", "#ff0000"); 
 
      $("#mensagem").text(error.responseText); 
 
      $("#pfIncluir").attr("disabled", true); 
 
      $("#pfExcluir").attr("disabled", true); 
 

 
     } 
 
    });

アクションの署名:

 

    [HttpPost] 
    public ActionResult ModalEmailsUpload() 
    { 
     //it's just returning a string as result of the validation 
    } 

ここで私は、ブラウザから取ったログ:

ホモロゲ:

 
POST /Mail/ModalEmailsUpload HTTP/1.1 
Host: *** 
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:55.0) Gecko/20100101 Firefox/55.0 
Accept: application/json, text/javascript, */*; q=0.01 
Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.5,en;q=0.3 
Accept-Encoding: gzip, deflate, br 
X-Requested-With: XMLHttpRequest 
Referer: *** 
Content-Length: 362 
Content-Type: multipart/form-data; boundary=---------------------------322973251128192 
Cookie: ASP.NET_SessionId=jo2j042lp2xsnzsjsslddmf0; .Login=07E0F5F86E9EF39DC84A926E79C414B2E5802286712F9FB439106E31200CF139CF78E0EA8B6A680DD3CE80DE388EBEAC8176392FFDCFCFEFDC905BBA4AA0D66671E5A980C5CABDF677B88FB1C37F13F458B92ED3F1906AFDB7616AA010C34B0559F426D8F6807E8548B5E9E95A4F1891F0B28DA9D2CF03FC3D850C3961AE1C03FDD3FE2ABCC3F3221D2E8D361C7D3C93783E5A68F3FE9B764A56FB9E0DF1A780; __RequestVerificationToken=GsjCurVxu6w5ZJWY6fn5bk-8QYwkOo-NU8kP_48_eVnSjNE_VgpS9QTKIz4rd4W43H5DM1zLD5Ei-Chmgua4G77ylNSX2yOdGHEwV6bZ_UA1 
Connection: keep-alive 
-----------------------------322973251128192 
Content-Disposition: form-data; name="selecionaEmail"; filename="_csv_virgula - parcial.csv" 
Content-Type: application/vnd.ms-excel 

CP,LOJA,EMAIL 
10001,111,[email protected] 
-----------------------------322973251128192-- 

HTTP/1.1 200 OK 
Cache-Control: private 
Content-Type: application/json; charset=utf-8 
Server: Microsoft-IIS/7.5 
X-AspNetMvc-Version: 5.2 
X-AspNet-Version: 4.0.30319 
X-Powered-By: ASP.NET 
---------------------------------------------------------- 

制作:あなたは2つのログファイルでCookieのエントリを見れば

 
POST /Mail/ModalEmailsUpload HTTP/1.1 
Host: *** 
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:55.0) Gecko/20100101 Firefox/55.0 
Accept: application/json, text/javascript, */*; q=0.01 
Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.5,en;q=0.3 
Accept-Encoding: gzip, deflate, br 
X-Requested-With: XMLHttpRequest 
Referer: *** 
Content-Length: 358 
Content-Type: multipart/form-data; boundary=---------------------------4390192952067 
Cookie: .Login=40DDB91B4FCD780BD93E2B32BE6D603444BAA74AD3DE6440E55372C23B48A25BE74C15F91A3161800B5B049AB2E6045EB660E016D167CB1A3D7DE5F10C71ED83105365E42E99BDAEC620559C6FC5C36D0840C8B4ECA5DBE76ED20DF212AE5A4EC2D9B105F3FE5DEEDF3406D35A24FAD7FC6927236CC29DE55ACC3C55EBCD6DEFF6F5F597164DD3625105E9708C421B0240AF2CCC53BD9293E86276A151F6E432; ASP.NET_SessionId=y25h2jwy4pukqqo0nl0oz30n; __RequestVerificationToken=g1o3D2naXZUJS4dakmMdzn9T1OQ4lScnjrYdKOhM-s3H5ZhkSpq9JnOMv51N-GQJ-gn2yspgPSQC39H9OPVPcBXOCaHW0V2bVrj8UHUBZ9A1 
Connection: keep-alive 
-----------------------------4390192952067 
Content-Disposition: form-data; name="selecionaEmail"; filename="_csv_virgula - parcial.csv" 
Content-Type: application/vnd.ms-excel 

CP,LOJA,EMAIL 
10001,111,[email protected] 
-----------------------------4390192952067-- 

HTTP/1.1 302 Found 
Cache-Control: private 
Content-Type: text/html; charset=utf-8 
Location: /Erro?aspxerrorpath=/Mail/ModalEmailsUpload 
Server: Microsoft-IIS/7.5 
X-AspNetMvc-Version: 5.2 
X-AspNet-Version: 4.0.30319 
X-Powered-By: ASP.NET 
---------------------------------------------------------- 

GET /Erro?aspxerrorpath=/Mail/ModalEmailsUpload HTTP/1.1 
Host: *** 
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:55.0) Gecko/20100101 Firefox/55.0 
Accept: application/json, text/javascript, */*; q=0.01 
Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.5,en;q=0.3 
Accept-Encoding: gzip, deflate, br 
Referer: *** 
X-Requested-With: XMLHttpRequest 
Cookie: .Login=40DDB91B4FCD780BD93E2B32BE6D603444BAA74AD3DE6440E55372C23B48A25BE74C15F91A3161800B5B049AB2E6045EB660E016D167CB1A3D7DE5F10C71ED83105365E42E99BDAEC620559C6FC5C36D0840C8B4ECA5DBE76ED20DF212AE5A4EC2D9B105F3FE5DEEDF3406D35A24FAD7FC6927236CC29DE55ACC3C55EBCD6DEFF6F5F597164DD3625105E9708C421B0240AF2CCC53BD9293E86276A151F6E432; ASP.NET_SessionId=y25h2jwy4pukqqo0nl0oz30n; __RequestVerificationToken=g1o3D2naXZUJS4dakmMdzn9T1OQ4lScnjrYdKOhM-s3H5ZhkSpq9JnOMv51N-GQJ-gn2yspgPSQC39H9OPVPcBXOCaHW0V2bVrj8UHUBZ9A1 
Connection: keep-alive 

HTTP/1.1 500 Internal Server Error 
Cache-Control: private 
Content-Type: application/json; charset=utf-8 
Server: Microsoft-IIS/7.5 
X-AspNetMvc-Version: 5.2 
X-AspNet-Version: 4.0.30319 
X-Powered-By: ASP.NET 
---------------------------------------------------------- 

答えて

0

本番コールがホモロゲーション・コールがありASP.NET_SessionIdクッキーを持っていないことに注意します。

これは、ユーザーが運用サーバーにログインしていないことを示します。

元のページでHTTP 500内部サーバーエラーが発生したため、リダイレクトはエラーページです。これは、プロダクションサーバー上で必要なものが利用できないことを示します。

あなたが行ったModalEmailsUploadのソースを見ずに、エラーメッセージの内容を知ることなく、何が原因であるのかを特定することはできません。

+0

実際には、本番環境の要求にはASP.NET_SessionIdがありますが、それはCookie値の後です。このタグの順序が応答を変えることができるかどうか知っていますか?リクエストがコントローラにヒットする前にリダイレクトされているため、私はアクションのコードを投稿しませんでした。 – user2961790

+0

リクエストがコントローラに当たっています。コントローラーアクションが例外をスローしています。これにより、表示されているリダイレクトが発生します。リダイレクトは '/ Erro?aspxerrorpath =/Mail/ModalEmailsUpload'です。 –

関連する問題