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
}
});
Run Code Online (Sandbox Code Playgroud)
但是如何在单独的*.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>
Run Code Online (Sandbox Code Playgroud)
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
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3587 次 |
| 最近记录: |