我有一个Edit.cshtml页面,有1个部分模板调用。在该模板中,我进行了ajax调用,我的控制器是home,操作名称是savedata
ajax功能
$.ajax({
url: "CountryZone/SaveData",
type: 'POST',
data: { data: selectedID, id: id },
dataType: "html",
success: function (result) {
alert("Success");
},
error: function (result) {
data.str = null;
alert("Error");
},
});
控制器: -
public ActionResult Savedata(string data, int CountryZoneId)
{
return null;
}
现在我的ajax电话正在进行
有url错误:--- url是Home / edit / Home / Savedata而不是这里只有Home / SaveData
答案 0 :(得分:1)
在MVC应用程序中对网址进行硬编码是一个坏主意。
更改此行:
url: "CountryZone/SaveData",
对此:
url: "/CountryZone/SaveData",
我建议至少在视图中使用Url.Action
并将其存储在js变量中。
答案 1 :(得分:1)
使用标准MVC代码如下:
url: '@Url.Action("SaveData","CountryZone")',
完整代码
$.ajax({
url: '@Url.Action("SaveData","CountryZone")',
type: 'POST',
data: { data: selectedID, CountryZoneId: id },
dataType: "html",
success: function (result) {
alert("Success");
},
error: function (result) {
data.str = null;
alert("Error");
},
});
[HttpPost]
public ActionResult Savedata(string data, int CountryZoneId)
{
return null;
}