2

私は使用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ファイルに貼り付けたところ、動作しなくなりました。

4

3 に答える 3

5

これは、かみそりだけがサインを処理するためですが、ファイルでは処理@しません。js

url: '@Url.Action("EtiketGetir", "Etiket")',

ソリューションについては、次の投稿をお読みください:
asp.net-mvc:jsファイルのかみそりの「@」記号

于 2012-05-07T17:14:57.313 に答える
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を使用しているページで、初期化関数を呼び出します。

<script type="text/javascript" src="test.js"></script>
<script type="text/javascript">
    test.initialize({
        someUrl: '@Url.Action("Index", "Home")'
    });
于 2012-05-07T17:31:07.600 に答える
1

このコードを使用して問題を解決しました

$(function() {
    $.ajax({
        url: '/ControllerName/IndexName/',
        type: "POST",
        data: {
            data: data
        },
        success: function(msg) {},
        error: function(msg) {}
    });​
于 2012-05-13T13:39:32.360 に答える