【发布时间】:2021-05-21 10:08:28
【问题描述】:
我有一个 http://localhost:54393/CreateTest/4fwp36 工作正常,但是当我从 jQuery ajax 调用 http://localhost:54393/CreateTest/RemoveControlsNew 时它不起作用,给出错误也没有调用控制器,如果有人可以帮助我,因为我被困在这里超过 1 天
我试过了,但它不起作用:
MVC JQuery call from url without action
这是我的路线配置:
routes.MapRoute(
name: "CreateTest",
url: "CreateTest/{id}",
defaults: new { controller = "CreateTest", action = "Index", id = UrlParameter.Optional }
);
当我从另一个控制器调用时,上面的代码完美运行:
return Redirect("/CreateTest/"+ strTestID);
当我尝试使用 ajax post 方法调用同一个控制器时
RemoveControls: function (rid) {
var MyAppUrlSettings = {
MyUsefulUrl: "/CreateTest/RemoveControlsNew"
}
$.ajax({
type: 'POST',
dataType: "JSON",
async: false,
//url: '@Url.Action("RemoveControlsNew",Request.Url.Scheme)',
url: MyAppUrlSettings.MyUsefulUrl,
contentType: 'application/json; charset=utf-8',
data: {
rid: rid,
bgcolor: CREATETEST.globalbgcolor,
fontcolor: CREATETEST.globalfontcolor,
fontsize: CREATETEST.globalfontsize
},
success:
function (response) {
var data = response;
if (data == 'Error') {
CREATETEST.showerror('Some thing went wrong you cannot remove a question at the moment for selected option');
}
else {
$("#AddControlNew").load(location.href + " #AddControlNew");
}
},
error:
function (response) {
console.log(response);
CREATETEST.showerror("Error: " + response);
}
});
},
然后这些不起作用,我的方法没有被调用。
我收到此错误:
【问题讨论】:
-
请发布您的 ajax 和控制器代码
-
下面是我的路由配置 routes.MapRoute( name: "CreateTest", url: "CreateTest/{id}", defaults: new { controller = "CreateTest", action = "Index", id = UrlParameter. 可选 } );当我从另一个控制器调用它时效果很好,但是当我从外部 js 调用它以在同一个控制器上以不同的操作调用 ajax 时它不起作用我的 js 在 url 下方:“/CreateTest/RemoveControlsNew”
-
能否请您添加控制器操作(索引)
-
已添加请查看以上网址
标签: c# jquery ajax asp.net-mvc asp.net-mvc-5