如何阅读付款结果MVC的页面响应

问题描述

基本上,我的应用程序与链接相似,但我的应用程序位于MVC C#上。

-进行付款请求。 -阅读回复。 -将响应传递给我们的api。

https://developer.2c2p.com/docs/prepare-payment-request

我的付款请求代码:

function CreateForm(parameters)
{
    var form = $('<form id="PaymentForm1"></form>');
    var path = url;  

    form.attr("method","post");
    form.attr("action",path);

    $.each(parameters,function (key,value) {
        var field = $('<input></input>');
        field.attr("type","hidden");
        field.attr("name",key);
        field.attr("value",value);
        console.log(key,value);
        form.append(field);
    });
    $(document.body).append(form);
    form.submit();
} 

所以我现在的问题是如何读取响应结果并将其传递到我们的api中。 (与此类似,但在MVC https://developer.2c2p.com/docs/read-payment-response上)

我尝试使用此代码。 WebRequest request = WebRequest.Create(resultURL);,但将重新加载页面,数据将消失。

[HttpGet]

        public ActionResult getResultValues()
        {
            WebRequest request = WebRequest.Create(resultURL);
            request.Method = "GET";
            request.UseDefaultCredentials = true;
            request.PreAuthenticate = true;
            request.Credentials = CredentialCache.DefaultCredentials;

            WebResponse response = request.GetResponse();
            Stream dataStream = response.GetResponseStream();
            StreamReader reader = new StreamReader(dataStream);
            string responseFromServer = reader.ReadToEnd();

            reader.Close();
            response.Close();

            return View(responseFromServer);

        }

有更好的方法吗?我也是MVC的新人

解决方法

@ chenz101

看我的代码

为以下格式制作课程

using System;   
using System.Collections.Generic;   
using System.Linq;   
using System.Web;   
  
namespace AspNetMvcJqueryAjaxSerializeForm.Models   
{   
    public class FriendModel   
    {   
        public string FriendName { get; set; }   
        public string Phone { get; set; }   
        public string State { get; set; }   
    }   
}  

控制器

// POST: Friend/AddFriend  
[HttpPost]  
public ActionResult AddFriend(FriendModel fm)  
{  
          //Write your database insert code / activities  
            return RedirectToAction("create");  
} 

这是您的MVC视图html页面代码

<form id="friendform">   
    <table>   
        <tr>   
            <td>Friend Name</td>   
            <td><input id="txtFriendName" name="FriendName" type="text" /></td>   
        </tr>   
        <tr>   
            <td>Phone</td>   
            <td><input id="txtPhone" name="Phone" type="text" /></td>   
        </tr>   
        <tr>   
            <td>State</td>   
            <td><input id="txtState" name="State" type="text" /></td>   
        </tr>  
    </table>   
 <input id="btnsubmit" type="button" value="Submit"/>   
</form>  

这是您的ajax调用代码

<script>   
    $(document).ready(function () {   
        $("#btnsubmit").click(function (e) {   
            //Serialize the form datas.   
            var valdata = $("#friendform").serialize();   
            //to get alert popup   
            alert(valdata);   
            $.ajax({   
                url: "/Friend/AddFriend",type: "POST",dataType: 'json',contentType: 'application/x-www-form-urlencoded; charset=UTF-8',data: valdata   
            });   
        });   
    });   
</script> 

enter image description here

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...