Sam*_*ath 3 asp.net-mvc asp.net-mvc-3 asp.net-mvc-4
我可以在*.cshtml文件上使用ajax调用如下.它工作正常.
$.ajax({
    url: '@Url.Action("GetAllBooks", "Book")',
    cache: false,
    type: 'GET',
    contentType: 'application/json; charset=utf-8',
    data: {},
    success: function (data) {
        self.Books(data); //Put the response in ObservableArray
    }
});
但是如何在单独的*.js文件中调用相同的方法?当我使用上面的代码时它不起作用?
CSHTML(我更喜欢标签输入):
@* without the attribute 'name' *@
<input type="hidden" value="@Url.Action("GetAllBooks", "Book")" id="UrlBookGetAllBooks" />
@* or *@
<div style="display:none;" data-url="@Url.Action("GetAllBooks", "Book")" id="UrlBookGetAllBooks"></div>
JS:
var url = $('#UrlBookGetAllBooks').val();
//or for tag div
var url = $('#UrlBookGetAllBooks').data('url');
$.ajax({
    url: url,
    cache: false,
    type: 'GET',
    contentType: 'application/json; charset=utf-8',
    data: {},
    success: function (data) {
        self.Books(data); //Put the response in ObservableArray
    }
});
| 归档时间: | 
 | 
| 查看次数: | 3587 次 | 
| 最近记录: |