Javascript ajaxurl不';不适用于不同控制器文件夹中的操作
请查看硬编码的ajax URL,它可以工作,但通常的URL(注释)不工作!如何指定这样的url将ajax调用定向到不同的控制器文件夹Javascript ajaxurl不';不适用于不同控制器文件夹中的操作,javascript,ajax,asp.net-mvc,json,asp.net-mvc-5,Javascript,Ajax,Asp.net Mvc,Json,Asp.net Mvc 5,请查看硬编码的ajax URL,它可以工作,但通常的URL(注释)不工作!如何指定这样的url将ajax调用定向到不同的控制器文件夹 即使使用硬编码url,我也无法在调用ajax请求的视图中将json数据设置为模式弹出标签。但是警报可以正常工作 这有多奇怪,或者我在这里犯了什么错误 我的剧本: $("#img_xx_info").click(function () { $.ajax({ type: 'GET', //url: '@
$("#img_xx_info").click(function () {
$.ajax({
type: 'GET',
//url: '@Url.Action("action1","controller2")', //doesnt work
url: "../controller2/action1", //works
dataType: "JSON",
success: function (data) {
alert(data);
var obj = JSON.parse(data);
alert(obj.count);//works
$("#value_xy_Id").val = obj.count;//doesnt work this #value_xy_Id is a part of modal lable
}
});
$("#myModal").modal('show');
});
我的MVC结构:
----内容
css在这里
----剧本
ajax脚本位于此处(需要调用controller2/action1以返回json结果)
----控制器
>A -controller1controller(action1,2,3..)
>B -controller2controller(action1,2,3..) // return Json(data, JsonRequestBehavior.AllowGet);
>C -controller3controller(action1,2,3..)
-------观点
您从服务器得到了什么响应?似乎您正在脚本文件中调用此
Url.Action
。是这样吗?如果是的话,那就行不通了。ASP.NET MVC视图引擎不会处理脚本文件,因此您在其中放置的任何Razor代码都不会被触动,并将保持原样。您可能希望在视图中定义一些js变量,将URL放在其中,然后在脚本文件中使用此变量。
>A -file1.cshtml
>B -file1.cshtml
>C -file1.cshtml ("#img_xx_info" click event here invokes below scripts + modal popup here to get json into table)