#javascript #c# #jquery #ajax
#javascript #c# #jquery #ajax
Вопрос:
Я не знаю, в чем проблема, я не могу подключиться к своему веб-сервису. Он говорит об ошибке 404. Насколько я могу судить, это должно сработать. Поскольку я удалил код из * .cshtml в отдельный файл .js, он больше не работает.
Файл Javascript находится во вложенной папке «Scripts/Reps/report.ui.js «
Я хотел бы вызвать метод GetReport из файла HomeController.cs со стандартной конфигурацией.
Можете ли вы сказать мне, что я делаю не так, или я полностью не понял эту часть? Спасибо, что помогли мне
$("#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 });
}
}
}
Ответ №1:
@Url.Action(«GetReport», «Home») он не будет работать в файле * .js. синтаксис razor работает только в файле *.cshtml. вам нужно сохранить этот URL-адрес в переменной.