从外部站点到MVC控制器的Catch Form Post

时间:2014-03-13 20:25:04

标签: asp.net-mvc

我需要回答一个简单的问题,因为我得到了一些奇怪的结果。

所以是的,因为这个问题表明有一个外部网站会将一个表单发布到我的MVC ActionResult但是它从未到达我的网站,下面的代码应该可以正常工作吗?

[HttpPost]
        public ActionResult TestResponse(FormCollection collection)
        {
            return RedirectToAction("PaymentSuccess", new { refId = "Test Ref" });
        }

甚至这应该可行吗?

[HttpPost]
        public ActionResult TestResponse()
        {
            return RedirectToAction("PaymentSuccess", new { refId = "Test Ref" });
        }
它让我发疯了......

2 个答案:

答案 0 :(得分:1)

您是如何从其他网站发布的?是通过ajax请求吗?如果是这样,请检查通过onerror属性获得的错误。

对于您的问题,MVC默认不允许跨域发布。您可能需要通过动作过滤器插入如下所示的标题来欺骗MVC。 Access-Control-Allow-Origin:*

但请注意,我不建议这样做,因为您的网站会受到跨网站脚本的影响。

答案 1 :(得分:0)

很抱歉这是我的错误,从帖子表单到付款网关缺少一个字段,只是希望他们有更好的错误处理... 谢谢你的帮助。