我的Javascript文件中有以下代码:
$.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文件不满意。
答案 0 :(得分:0)
我的猜测是你得到404错误。检查浏览器控制台。
一个建议是,不要像这样硬编码你的动作方法的url。始终尝试使用Url.Action
或Url.RouteUrl
等html辅助方法为您的操作方法构建正确的相对网址。
var url="@Url.Action("LocationList","ProductMatrix")";
var v=$("#categoryTypeFilter > option:selected").attr("value");
//update the url (add ? as needed) according to how your server expects the url params
$.getJSON(url + v , function (data) {
//do something with data
});
如果你的javascript代码在剃须刀视图中,这将正常工作,如果它在外部javascript文件中,请使用this answer中解释的解决方案。