我不知道问题是什么,我无法连接到我的 Web 服务。它显示错误 404。据我所知它应该可以工作。由于我将代码从 *.cshtml 删除到单独的 .js 文件中,因此它不再工作。
Javascript 文件位于子文件夹“Scripts/Reps/report.ui.js”
我想使用标准配置从 HomeController.cs 调用 GetReport 方法。
你能告诉我我做错了什么,或者我是否完全误解了那部分? 谢谢你帮助我
$("#createReport").click(function () {
var postdata = JSON.stringify(
{
"EvaluatedPrice": $("#estimatedPriceValue").text(),
"Address": $("#address").text(),
"SomeValue": "Som RandomValue To test"
});
try {
$.ajax({
type: 'POST',
url: '@Url.Action("GetReport", "Home")',
data: postdata,
dataType: "json",
success: getSuccess,
error: getFail
});
}
catch (e) {
alert(e);
}
});
function getSuccess(data, textStatus, jqXHR) {
alert(data.Response);
}
function getFail(jqXHR, textStatus, errorThrown) {
alert(jqXHR.status);
}
public class HomeController : Controller
{
[HttpPost]
[Route("GetReport")]
public async Task<ActionResult> GetReport(HttpContext context)
{
string jsonString = string.Empty;
var data = context;
return Json(new { data = 12 });
}
}
}
最佳答案
@Url.Action("GetReport", "Home") 它不适用于 *.js 文件。 razor 语法仅适用于 *.cshtml 文件。您需要将该 url 存储在变量中。
关于通过ajax调用c#方法时出现Javascript错误404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55669669/