簡體   English   中英

jQuery AJAX未在ASP.NET MVC中調用AC#函數

[英]jQuery AJAX Not Calling A C# Function In ASP.NET MVC

基本上,我試圖使用jQuery ajax從視圖調用控制器,但它沒有調用控制器。 我要做的是將令牌值從注冊頁面傳遞到控制器,以便將其值用於用戶注冊。

< script type = "text/javascript" >

document.getElementById('LoginWithAmazon').onclick = function() {
    options = {
        scope: 'profile'
    };
    amazon.Login.authorize(options,
    function(response) {
        if (response.error) {
            alert('oauth error ' + response.error);
            return;
        }
        GetProfileInfo(response.access_token);
    });
    function GetProfileInfo(token) {

        $.ajax({
            type: 'GET',
            url: '/Account/ProfileInfo',
            data: {
                token: 'abc'
            },
            cache: false,
            success: function(result) {
                alert(result);
            }
        });

    }

    function receiveResponse(response) {
        if (response != null) {
            for (var i = 0; i < response.length; i++) {
                alert(response[i].Data);
            }
        }
    }
    return false;
};

< /script>/

這是我的控制器代碼

public JsonResult ProfileInfo(string token) {
    return Json("test", JsonRequestBehavior.AllowGet);
}

我需要將令牌值從注冊頁面傳遞到我的控制器

嘗試在控制器中更改它

return Json("test", JsonRequestBehavior.AllowGet);

進入

enter code herereturn Json(new { value="test" }, JsonRequestBehavior.AllowGet);

並更改您的js像這樣

 $.ajax({
            type: 'GET',
            url: '/Account/ProfileInfo',
            data: JSON.stringify({
                token: 'abc'
            }),
            cache: false,
            success: function(result) {
                alert(result);
            }
        });

最后,我解決了問題。我無法調用帳戶控制器,因此我已將家庭控制器用於此目的。以下是我用於調用控制器的代碼:

<script type="text/javascript">
document.getElementById('LoginWithAmazon').onclick = function() {
options = { scope : 'profile' };
amazon.Login.authorize(options, function(response) {
if ( response.error ) {
alert('oauth error ' + response.error);
return;
}
GetProfileInfo(response.access_token);
});

function GetProfileInfo(token)
{

 var url = "/home/ProfileInfo?token=" + token;

        var request = $.ajax({
            url: url, 
            method: "GET",

            dataType: "json"
        });

        request.done(function (msg) {
            var data = [];
           alert(msg);

        });

        request.fail(function (jqXHR, textStatus) {

        });
}
}
</script>

暫無
暫無

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

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