繁体   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