MVC中的Jquery ajax调用

问题描述:

我使用自制的框架...我想用jQuery做一个ajax调用,我不知道如何传递url ...我的意思是如果我有控制器“类别”和行动“索引”的Ajax调用会是这样的?MVC中的Jquery ajax调用

$.ajax({ 
    type: "POST", 
    url: "http://localhost/learning/categories/index/", 

}); 

这个怎么样?

var controller = "categories"; 
var action = "index"; 
var myURL = "http://localhost/learning/" + controller + "/" + action + "/"; 

$.ajax({ 
    type: "POST", 
    url: myURL 
}); 

您的JavaScript是否在ASP.NET MVC视图中?如果是这样,您可以使用Url.Action来即时生成URL。

$.ajax({ 
    type: "POST", 
    url: '<%: Url.Action("index", "categories")%>', 
}); 

如果你的JavaScript是在一个单独的.js文件中,那么你增加了一点复杂性。

我的解决方案是动态呈现.js文件(即,将scripts.js路由到返回带有contentType文本/ javascript的视图的操作方法)。

我也试着将呈现视图的URL传递给.js文件,但这看起来比上面的解决方案更混乱。

在周二的MVC Conf中,有人建议您避免支持相对和绝对URL - 因此您可以对基本URL进行假设。这也有效...

+0

抱歉不提及框架是用PHP编写的,任何有关ajax调用mvc的文档都会很棒! – aephixus 2011-02-10 17:26:55