我应该使用什么url语法来确保控制器操作在jQuery ajax调用中正确解析?例如,下面的语法来调用方法一对HomeController的工作在Visual Studio中运行的网站,而:从单独的javascript文件调用ASP.NET MVC控制器动作
$.ajax({
type: 'GET',
url: "Home/Method1?lparam1=" + 1+ "¶m2=" + 2, // my problem
dataType: 'json',
cache: false,
success: function(){ alert("success");}
});
但是,当我在IIS上部署网站,我收到HTTP 404告诉我,控制器动作不能得到解决。
TIA。
是的,我的脚本,因此外部的我的问题。当我查看被请求的url时,它是localhost/home/method1,但在IIS下,我正在部署到localhost/mysite,因此url应该是localhost/mysite/home/method1。将虚拟路径设置为mysite /在propject属性中会使VS url与IIS相同,但不能解决原始问题。我可能最终会嵌入脚本并在一天内调用它。 –
看起来像globals是唯一的方法,因为我希望将脚本保存在外部文件中。 –
我想你可以通过将所有的逻辑包装到一个JavaScript“类”中来清除这个方法,然后当你实例化它(在你的页面中)时,传入控制器URL作为选项。 –