2017-07-28 251 views
0

我的環境是低於POST 400(錯誤請求)錯誤

ASP.NET核2.0

下面是測試功能

[HttpPost] 
    [AllowAnonymous] 
    [ValidateAntiForgeryToken] 
    public ActionResult Test() 
    { 
     return RedirectToAction("Home"); 
    } 

我用郵遞員發送POST數據 http://localhost:00000/test/test

總是有400個不好的請求...爲什麼?

[錯誤消息]

headers:Headers 
ok:false 
status:400 
statusText:"Bad Request" 
type:2 
url:"http://localhost:57230/account/register" 
_body:"" 

[更新] 我找到解決辦法..但是有新的錯誤XD

headers:Headers 
ok:false 
status:500 
statusText:"Internal Server Error" 
type:2 
url:"http://localhost:57227/account/register" 
_body: 

[更新] 解決...

https://docs.microsoft.com/en-us/aspnet/core/publishing/iis

+0

你能告訴我們你的發佈數據嗎? –

+0

嗨,未來請讓我們知道〜你怎麼解決這個問題,這樣任何人都可以獲得關於這個問題和解決方案的更多信息。乾杯。 – SaltySub

回答

0

我正面臨類似的情況,其中表單POST被路由到正確的控制器,但然後控制器返回一個空頁面(400錯誤)。控制器甚至沒有執行任何代碼。

問題似乎是以下幾點:

如果你不把@Html.AntiForgeryToken()只是在你的CSHTML的<form>標籤後,如果您使用[AutoValidateAntiforgeryToken][ValidateAntiForgeryToken]控制器將返回一個空的頁面,沒有輸出或控制檯的警告。

因此,它似乎可以防止通過HTML表單的跨站點或跨會話(?)攻擊按預期工作。

+0

我發現了一種方式,我一起使用Angular :) 但無論如何感謝您的回答。 –