我正在尝试创建一个ajax(post)事件,该事件将在按钮单击时填充div中的表。
我有一个组列表,当你点击一个组时,我希望该表“消失”,并且属于该组的成员“出现”。
使用jQuery的.ajax ...
时出现问题当我点击按钮时,它正在寻找一个不存在的控制器,以及一个未被引用的控制器。但是,我使用AREAS(MVC2),该区域名为Member_Select,其中控制器名为MemberSelect。当我点击按钮时,我得到一个404,说明它找不到控制器Member_Select。我检查了链接按钮,单击时设置为Member_Select,但这是ajax调用:
$.ajax({
type: "POST",
url: '/MemberSelect/GetMembersFromGroup',
success: function(html) { $("#groupResults").html(html); }
});
我无法在网上找到任何示例/帮助。 任何想法/建议/提示将不胜感激。
谢谢!
答案 0 :(得分:1)
您是否尝试导航到/ MemberSelect / GetMembersFromGroup以查看您获得的内容? - 如果它是404',那是因为路线无法与控制器/动作相匹配。
我没有使用新的区域功能,但我不确定你得到的网址是否正确......我原本以为它会是/AREANAME/MemberSelect/GetMembersFromGroup...但是我可能是错的..!
答案 1 :(得分:1)
当我这样做时,它运作良好。我没有使用POST,我不知道AREAS的含义。
$("#item").autocomplete({
source: function(req, responseFn) {
addMessage("search on: '" + req.term + "'<br/>", true);
$.ajax({
url : ajaxUrlBase1 + "GetMatchedCities/" + req.term,
cache : false,
type : "GET", // http method
success : function(msg){
// ajax call has returned
var result = msg;
var a = [];
if (result !== null){
for(var i=0; i < result.length; i++) {
a.push({label: result[i].prop1, id: result[i].prop2});
}
}
responseFn(a);
}
});
}
});
答案 2 :(得分:0)
使用:
AREA_NAME / CONTROLLER_NAME / ACTION_NAME
我不会使用$ .ajax而是使用jQuery Form Plugin。 并将表单设置为:
Html.BeginForm("Index","AdminArea/Admin",FormMethod.Post,
new { id="form-user", name="form-user"})
使用jQuery Form Plugin可以看一下:
http://arturito.net/2010/12/02/asp-net-mvc2-jquery-form-post-tutorial/
答案 3 :(得分:0)
你冷却将你的网址保存在(Html.HiddenForm())中的隐藏表单元素中,并使用#id javascript运算符来检索它。刚刚在今天发现了这一点。