我正在使用ASP.Net-MVC3
,我在
Layout.cshtml :
$(function() {
$.ajax({
url: '@Url.Action("EtiketGetir", "Etiket")',
type: "POST",
data: {
data: data
},
success: function(msg) {},
error: function(msg) {}
});
这适用于layout.cshtml
,但我复制了该代码并粘贴到test.js
文件,它停止了工作。
答案 0 :(得分:5)
这是因为只有剃刀处理@
符号,但它不会与js
个文件一起使用。
url: '@Url.Action("EtiketGetir", "Etiket")',
对于解决方案,请阅读这篇文章:
asp.net-mvc: razor '@' symbol in js file
答案 1 :(得分:1)
在这些情况下我通常做的是在我的javascript文件中创建一个初始化函数并将其传递给它:
// test.js
(function(test, $, undefined) {
test.initialize = function(options) {
this.someUrl = options.someUrl;
}
test.someFunctionThatUsesUrl = function() {
$.ajax({
url: this.someUrl
});
}
})(window.test = window.test || {}, jQuery);
然后在使用test.js的页面中,我将调用initialize函数:
<script type="text/javascript" src="test.js"></script>
<script type="text/javascript">
test.initialize({
someUrl: '@Url.Action("Index", "Home")'
});
答案 2 :(得分:1)
我解决了使用此代码的问题
$(function() {
$.ajax({
url: '/ControllerName/IndexName/',
type: "POST",
data: {
data: data
},
success: function(msg) {},
error: function(msg) {}
});