6

有没有办法为 AJAX 表单设置 URL?我正在寻找使用Ajax.BeginForm()语法的答案,以便我可以利用 Microsoft 的模型构建魔法,而无需自己重新解析 url 字符串。

有一个局部视图,foo.com.au/getFoo其中有一个 ajax 形式。ajax 表单将发布到Foo控制器(默认),getFoo动作。

当我从外部站点 ( bar.com.au) 调用它时,我希望它回发到foo.com.au/getFoo. 相反,它发布到bar.com.au/getFoo. 有没有办法告诉 Ajax 表单发布到完整的 URL 而不仅仅是相对路径?

动机
对于那些怀疑 hax0rz 或其他犯规行为的人,我构建了一个小部件,该小部件正在集成到多个客户端站点。我现在正在为这个小部件构建一个身份验证插件。该小部件不会将它们重定向到我的网站进行身份验证,因此我希望它使用用户名/密码输入表单的结果发回我的域。

4

1 回答 1

2

您需要通过 Ajax-options 传递它,而不是在 BeginForm 的重载中提供它:

@using (Ajax.BeginForm(
    new AjaxOptions
    {
        Url = Url.Action("getFoo", "Foo", null, Request.Url.Scheme)
    }))
{
    ...
}
于 2013-08-19T07:46:43.873 回答