1

我应该使用什么 url 语法来确保在 jQuery ajax 调用中正确解析控制器操作?例如,以下在 HomeController 上调用 Method1 的语法在 Visual Studio 中运行站点时有效:

 $.ajax({
             type: 'GET',
             url: "Home/Method1?lparam1=" + 1+ "&param2=" + 2,  // my problem
             dataType: 'json',
             cache: false,             
             success: function(){ alert("success");}
         });

但是当我在 IIS 上部署站点时,我得到 HTTP 404 告诉我控制器操作无法解决。

TIA。

4

2 回答 2

1

我会让 MVC 为你生成链接:

url: '@Url.Action("Method1", "Home")?lparam1=' + encodeURIComponent(1) + ... 

如果您的 JS 在外部文件中,您可以在页面中使用 URL 设置一个全局变量,并让外部文件读取它。此外,如果您的 VS 和 IIS url 不同,您可以在项目属性中为您的站点指定一个虚拟目录名称,以便它与您的 IIS 目录匹配,或者更好的是,让您的项目使用 IIS 而不是 Cassini(内置在网络服务器中)。

于 2012-05-13T22:59:55.130 回答
0

只需将 url 行更改为:

url: "/Home/Method1?lparam1=" + 1+ "&param2=" + 2,
于 2012-05-13T23:07:31.043 回答