从JS调用控制器的ActionResult方法

时间:2009-07-20 01:58:58

标签: javascript asp.net-mvc controller

我现在是MVC F / W.我开发了一个应用程序,我需要打开一个新的URL(来自另一个服务器)。

我开发了它并且它在我的本地机器上运行...但是当我尝试在开发机器上运行它总是要求用户ID和密码。

是否与URL的信用有关? (我可以在执行else语句时打开它。当执行下面的if语句时,我总是遇到这个错误。)

我是否需要将[AcceptVerbs(HttpVerbs.Post),Authorize]之类的内容保存到控制器中的方法中?

JS页面中

$.ajax(
{
    type: "Post",
    url: "/Rep.mvc/AddView",
    data: { AnnIDs: IDs,gsa: GAS, OpenedFrom: From },
    dataType:"script",
    success: function(result) {
        //alert(result);
        window.open(result, "Ann")//Open the returned URL in a window
    },
error: function(req, status, error) {
alert("An error occurred while processing your request.");      }
    });

在控制器中... RepController.cs

public ActionResult AddView(string AnnIDs, string gsa, string OpenedFrom)
        {
            try
            {
if (true)
return JavaScript(blobDoc.remoteURL);//Here i always get error when i try to Open
else                                 
return new RedirectResult(blobDoc.remoteURL);//NO Error.
}
}

1 个答案:

答案 0 :(得分:0)

这可能是代理问题,您使用代理连接到WEB吗?在本地计算机上,您可能在不使用代理的URL列表中使用IP地址或本地主机。

如果在另一台计算机上有所不同,则可能正在查找用户代理密码以尝试在Web上找到该URL。

它更像是一个浏览器设置问题而不是你做错的任何事情,我知道我在最初尝试访问之前没有用过的内部测试网站时遇到过这个问题。