Tra*_*bbs 0 javascript ajax asp.net-mvc
函数名在当前上下文中不存在是它给我的错误.我想要一个动态的ajax调用.为什么会这样?我得到处理程序处理服务器端,但我不知道如何解决这个问题.
var getManager = function (functionName, contentDiv) {
console.log("aircraft manager refresh called");
$.ajax({
type: "GET",
url: '@Url.Action(functionName, "AdminTools")',
cache: false,
data: {},
error: function () {
alert("An error occurred.");
},
success: function (data) {
$("#".concat(contentDiv)).html(data);
}
});
}
Run Code Online (Sandbox Code Playgroud)
我强烈建议您不要将服务器端和客户端代码耦合在一起,如:
$.ajax({
type: "GET",
url: '@Url.Action(functionName, "AdminTools")', //THIS
Run Code Online (Sandbox Code Playgroud)
它将变成维护噩梦.代替:
<div id="#contentDiv" data-url="@Url.Action(functionName, "AdminTools")">
@* content *@
</div>
Run Code Online (Sandbox Code Playgroud)
然后
var getManager = function (functionName, contentDiv) {
console.log("aircraft manager refresh called");
var url = contentDiv.data("url");
$.ajax({
type: "GET",
url: url,
// .....
Run Code Online (Sandbox Code Playgroud)
如果您稍后决定拥有多个contentdiv,则每个都可以拥有自己的url,并且您的代码可以重复使用.