私は約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 ----------------------------------------------------------
実際には、本番環境の要求にはASP.NET_SessionIdがありますが、それはCookie値の後です。このタグの順序が応答を変えることができるかどうか知っていますか?リクエストがコントローラにヒットする前にリダイレクトされているため、私はアクションのコードを投稿しませんでした。 – user2961790
リクエストがコントローラに当たっています。コントローラーアクションが例外をスローしています。これにより、表示されているリダイレクトが発生します。リダイレクトは '/ Erro?aspxerrorpath =/Mail/ModalEmailsUpload'です。 –