簡體   English   中英

JavaScript中的ASP MVC2執行控制器方法

[英]ASP MVC2 execute controller method in javascript

在我的ASP應用程序中,我試圖從數據庫中檢索一個值。 從JavaScript,我嘗試執行控制器方法。

Java腳本

function getCapital(country) {
//alert(country);
var url = "~/Home/Capital";
$.get(url, { country: country }, function (response) {
    $("#getCapital").html(response);
    alert(response);
});

控制器(主頁)

public string Capital(string country)
{
   return capitalService.getCapital("Frankrijk");
}

但是我沒有結果。

編輯

視圖

<script type="text/javascript" src="/Scripts/jquery-1.4.1.js"></script>
<script type="text/javascript" src="/Scripts/World.js" ></script> 

這是瀏覽器控制台的輸出。 因此,有時它會記錄URL而不會出現錯誤。

這是輸出

問題似乎與您的URL有關,在javascript中,您不需要在URL中加上“〜”,您可以使用

var url = "/Home/Capital";

MVC中URL的更好方法是通過傳遞如下的控制器和操作名稱來使用@URL

@Url.Action("Capital", "Home")

因此,您可以按以下方式修改JavaScript,在“ Captial”操作中添加一個斷點,然后看到有電話呼叫,還可以查看瀏覽器控制台,看看是否發生任何錯誤。

function getCapital(country) {
    //alert(country);
    var url = '@Url.Action("Capital", "Home")';

    console.log(url);
    $.get(url, { country: country }, function (response) {
        $("#getCapital").html(response);
        alert(response);
    });
}

編輯或

function getCapital(country) {
        //alert(country);
        var url = "/Home/Capital";

        console.log(url);
        $.get(url, { country: country }, function (response) {
            $("#getCapital").html(response);
            alert(response);
        });
    }

如果您需要更多信息,請與我們聯系。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM