簡體   English   中英

向MVC控制器發出AJAX請求並從js響應中獲取數據

[英]Making an AJAX request to an MVC controller and getting the data from the response in js

在按鈕上單擊,我正在嘗試將用戶輸入到文本框中的產品名稱值發送到要修改的服務器,然后使用AJAX返回到頁面。 我正在進入控制器中的ChangeName方法,但沒有進入成功函數來提醒新名稱。

JS:

    $("#changeNameButton").click(function () {
        var productName = $("#Name").val();

        $.ajax({
            url: '/Products/ChangeName/',
            type: 'POST',
            dataType: 'JSON',
            data: {name: productName},
            success: successFunc
        });
    });


    function successFunc(data) {
        alert(data);
    }

控制器:

    public string ChangeName(string name)
    {
        string changedName = ChangeNameHelper(name);
        return changedName;
    }

如果任何人都可以提出有關在MVC5 / 6中對控制器進行異步調用的正確方法的建議,那將很棒。

我的主要問題是,我永遠不會在響應時進入successFunc()。

關於您的評論,如果您僅返回一個字符串,MVC會將其轉換為json。

現在,在更新的代碼中,您仍然可以在其內部調用方法。 請調用string changedName = ChangeNameForResult(name); 或其他名稱的函數。

通過nuget軟件包管理器安裝Newtonsoft.Json並在您的控制器中執行此操作

Public ActionResult ChangeName(string name)
{
     // get your object you want to serialize let's say res
     return JsonConvert.SerializeObject(res);

}

我需要設置dataType:'text'而不是JSON,因為我要返回一個簡單的字符串。

dataType是要返回的數據類型,contentType是要發送的數據類型。

暫無
暫無

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

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