ASP.NET MVC中带有JSON响应的API调用

问题描述

我是ASP.NET MVC的新手。我想在支付网关上调用API。 API仅尝试解析用户身份。我已经用C#编写了CURL,但是我似乎对如何继续调用API以及使用AJAX返回JSON感到困惑。

下面是将Curl转换为C#。

[HttpPost]
public JsonResult ResolveBVN()
{
        //string str = BVN;

        var secretKey = "secretkey";

        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization",$"Bearer {secretKey}");
            var response = client.PostAsync("https://api.paystack.co/bvn/match",new StringContent("{ bvn: \"22146592120\",\n      account_number: \"0689688306\",\n      bank_code: \"044\",\n      first_name: \"uthman\",\n      last_name: \"jinadu\"\n  }")).Result;

            PaystackAPI paystackAPI = new PaystackAPI()
            {
                statuscode = response.IsSuccessStatusCode,message = response.StatusCode
            };

            return Json(paystackAPI);
        }
}

AJAX调用如下:

$("#btnGetBVN").click(function () {
    if ($('#BVN').val() == '' || $('#BVN').val() == undefined) {
        alert('Please Enter Customer BVN');
        return false;
    }

    $('.spinner').css('display','block');  //if clicked ok spinner shown

    $.ajax({
                    type: "POST",url: "@Url.Action("ResolveBVN","Transactions")",contentType: "application/json; charset=utf-8",dataType: "json",success: function (response) {
                        alert(response.status);
                        $('#Firstname').val(response.data.first_name);
                        $('#Surname').val(response.data.last_name);
                      //  $('#Phone_Number').val(response.data.mobile);
                    
                        $('.spinner').css('display','none');
                    },failure: function (response) {
                        
                        alert('BVN Does Not Exist Or Error Processing Request');
                        $('.spinner').css('display',error: function (response) {
                       
                        alert('BVN Does Not Exist Or Error Processing Request');
                        $('.spinner').css('display','none');
                    }
    });
});

警报消息响应为UNDEFINED

编辑

我添加了Class以将JSon返回到AJAX调用。我只能使用响应的状态码。

如何访问响应的另一部分?响应示例如下:

 {
  "status": true,"message": "BVN lookup successful","data": {
   "bvn": "000000000000","is_blacklisted": false,"account_number": true,"first_name": true,"last_name": true
  },"meta": {
"calls_this_month": 1,"free_calls_left": 9
  }
}

如何访问课程中的其他部分,例如 account_Number,消息等。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)