Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MVC4 razor表单在Windows Phone 8.1上返回404-在使用Windows 8.1的PC上工作_Javascript_Jquery_Asp.net Mvc_Razor_Windows Phone 8 - Fatal编程技术网

Javascript MVC4 razor表单在Windows Phone 8.1上返回404-在使用Windows 8.1的PC上工作

Javascript MVC4 razor表单在Windows Phone 8.1上返回404-在使用Windows 8.1的PC上工作,javascript,jquery,asp.net-mvc,razor,windows-phone-8,Javascript,Jquery,Asp.net Mvc,Razor,Windows Phone 8,我有一个MVC4Razor视图,它有一个表单和几个提交按钮。jQuery的.click()捕获提交按钮的单击,表单的操作根据单击的特定按钮而改变。表单通过JavaScript的form.submit()提交到新选项卡(或窗口)。这种机制在Windows8和Windows8.1 PC上的IE8、9、10、11和FF26-30中运行良好 Windows Phone 8或Windows Phone 8.1 IE出现问题。表单不会发布到新选项卡或窗口,单击提交按钮后会返回404 控制器操作: [Http

我有一个MVC4Razor视图,它有一个表单和几个提交按钮。jQuery的
.click()
捕获提交按钮的单击,表单的操作根据单击的特定按钮而改变。表单通过JavaScript的
form.submit()
提交到新选项卡(或窗口)。这种机制在Windows8和Windows8.1 PC上的IE8、9、10、11和FF26-30中运行良好

Windows Phone 8或Windows Phone 8.1 IE出现问题。表单不会发布到新选项卡或窗口,单击提交按钮后会返回404

控制器操作:

[HttpPost]
[ValidateAntiForgeryToken]
[Authorize]
public ActionResult system_A()
{
     //code
}
MVC Razor视图:

@using (Html.BeginForm("dummyAction", "sso", FormMethod.Post, new { @id = "ssoForm", target="_blank" }))
{
    @Html.AntiForgeryToken()
    <input type="submit" id="system_A" class="sso" value="System A" />
    <input type="submit" id="system_B" class="sso" value="System B" />
}

如果我从表单中删除
target=“\u blank”
,它将在Windows Phone 8上工作。如何在不删除
target=“\u blank”

的情况下实现这一点可能与相对URL和绝对URL有关?您是否尝试过使用绝对url(完整的…url)来查看它是否有任何区别?

尝试过,但没有区别。它可以在PC和Android/iPhone上运行,但不能在Windows Phone 8或8.1上运行(基本上,Windows Phone 8上的IE不允许通过编程打开选项卡?)
$('.sso').click(function () {
        var action = 'sso/' + $(this).prop('id');
        var form=$('#ssoForm');
        $(form).prop('action', action);
        form.submit();
        return false;
});