Когда я делаю ajax-запрос, как я могу использовать переменную jquery в параметре url, который использует c #? - PullRequest
1 голос
/ 24 апреля 2019

Вот код, который у меня есть:

var selectedFacility = $("#Facility").val();

$.ajax({
        type: "Post",
        url: "@Url.Action("GetLocations", "Item", new { Facility = "selectedFacility goes here"})",
        dataType: 'json',
        success: function (data) {
            for (var i = 0; i < data.length; i++) {
                $('#Location').append('<option value="' + data[i].Value + '">' + data[i].Text + '</option > ');
            }
        }
    });

Действие контроллера:

public JsonResult GetLocations(string facility) {
        var Locations = new List<SelectListItem>{};
        Locations.AddRange(db.Locations.Where(l => l.Facility == "LAT").ToList().Select(l => new SelectListItem {
            Text = l.Name,
            Value = l.ID.ToString()
        }));
        return Json(Locations, JsonRequestBehavior.AllowGet);
    }

Это строка, в которой мне нужно использовать переменную:

new { Facility = "selectedFacility goes here"})",

Возможно, я упускаю что-то очевидное, но мне нужно использовать переменную selectedFacility jquery в параметрах Url.Action (). Есть ли способ, которым это можно сделать?

1 Ответ

2 голосов
/ 24 апреля 2019

Я думаю, вы не можете использовать параметр $("#Facility").val(); в методе Url.Action().

Вы используете http POST Я думаю, вы можете попытаться установить объект данных ajax в качестве параметра.

var selectedFacility = $("#Facility").val();

$.ajax({
        type: "Post",
        url: '@Url.Action("GetLocations", "Item")',
        data: { Facility: selectedFacility },
        dataType: 'json',
        success: function (data) {
            for (var i = 0; i < data.length; i++) {
                $('#Location').append('<option value="' + data[i].Value + '">' + data[i].Text + '</option > ');
            }
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...