Ошибка Javascript 404 при вызове метода c # через ajax - PullRequest
0 голосов
/ 13 апреля 2019

Я не знаю, в чем проблема, что я не могу подключиться к своему веб-сервису.Там написано ошибка 404. Насколько я могу сказать, это должно работать.Поскольку я удалил код из * .cshtml в отдельный файл .js, он больше не работает.

Файл Javascript находится в подпапке "Scripts / Reps / report.ui.js"

Я бы хотел вызвать метод GetReport из The 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 Ответ

3 голосов
/ 14 апреля 2019

@Url.Action («GetReport», «Home») не будет работать в файле * .js. Синтаксис бритвы работает только в * .cshtml файле. вам нужно сохранить этот URL-адрес в переменной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...