У меня следующий код в моем файле Javascript:Ajax вызова не работает на сервере
$.getJSON("/ProductMatrix/LocationList/" + $("#categoryTypeFilter > option:selected").attr("value"),
function (data) {
var items = "<option> Default </option>";
$.each(data,
function (i, location) {
items += "<option value=' " + location.Value + "'>" + location.Text + "</option>";
});
$("#captureLocationFilter").html(items);
});
"/ProductMatrix/LocationList/"
является контроллер/действие, но он не работает на сервере, однако он работает на локальной машине. Похоже, что проблема связана с URL-адресом, поскольку этот путь может отсутствовать на сервере. Может кто-нибудь мне помочь.
Когда я пытаюсь использовать Url.Action, мой внешний файл javascript не радует.
Пожалуйста, внимательно прочитайте ответ. 'Url.Action' - это серверный метод. Он не будет работать во внешних js-файлах. вам нужно создать url в вашем файле бритвы и передать его в свой js-код, как это четко объяснено в этом сообщении [Как мне узнать JS о корне приложения?] (http://stackoverflow.com/questions/34360537/how -do-i-make-js-know-about-the-application-root) – Shyju