我有ASP.NET MVC应用程序。
在这个应用程序中我有脚本,我想转移到外部文件并面临问题
这是代码
function todolisttoday() {
$("#list").empty();
$("#counter").empty();
$.ajax({
url: '@Url.Action("GetTodayList", "Home")',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(),
type: 'POST',
dataType: 'json',
processData: false,
success: function (data) {
var list = data;
var count = Object.keys(data).length;
$("#counter").append('<b>' + "You have" + " " + count + " " + "appointments today" + '</b>');
for (var i = 0; i <= list.length - 1; i++) {
var timeobject = new Date();
timeobject.setTime(Date.parse(list[i].time));
var hours = timeobject.getHours();
var minutes = timeobject.getMinutes();
var ampm = hours >= 12 ? 'pm' : 'am';
hours = hours % 12;
hours = hours ? hours : 12; // the hour '0' should be '12'
minutes = minutes < 10 ? '0' + minutes : minutes;
var strTime = hours + ':' + minutes + ' ' + ampm;
var divslist = '<div class="listdiv">' +
'<b >' + (i + 1) + '</b>' + "." + " "
+ '<b class="title">' + list[i].title + '</b>' + " "
+ '<b >' + strTime + '</b>' + '<b class="status" style="display:none;">' + list[i].status + '<b>'
+ '</div>';
$("#list").append(divslist);
};
}
});
};
所以,据我所知,这一行url: '@Url.Action("GetTodayList", "Home")'
无法工作。
如果它的功能是通过按钮调用我可以使用此data-request-url="@Url.Action("GetTodayList", "Home")"
但是$(document).ready
如何让网址路径有效?
答案 0 :(得分:0)
js文件无法编译为cshtml,因此@Url.Action("GetTodayList", "Home")
无法在JS中使用。
您可以在JS或
中设置此rl手册,如/home/GetTodayList
var jsModule = function (urls) {
.
.
$(document).ready(function(){
$.ajax({
url: urls.GetTodayList,
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(),
type: 'POST',
dataType: 'json',
processData: false,
success: function (data) {
});
})
}
在视图中
<script src="..."></script>
<script>
var urls={GetTodayList:'@Url.Action("GetTodayList", "Home")'}
jsModule(urls);
</script>