You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过jQuery Ajax向ASP.NET MVC控制器提交Plaid Link结果时部分属性丢失怎么办

问题原因
  • 提交的 payload 数据缺失:Plaid Link 的 onSuccess 回调中,public_token 是独立的第一个返回参数,不在 metadata 对象内,你当前仅提交了 metadata 数据,未将 public_token 合并到提交内容中,导致 PublicToken 字段为空。
  • 控制器参数未绑定 JSON 请求体:ASP.NET MVC 接收 application/json 格式的请求时,默认从表单数据绑定参数,你没有给 Action 方法的参数加 [FromBody] 特性,导致无法正确从请求体的 JSON 中解析数据。
  • 请求体结构不匹配:你手动拼接的 JSON 外层多套了一层 results 节点,和控制器接收的 PlaidLinkResults 模型结构不匹配,导致大部分字段无法对应绑定。
解决方案
  1. 调整前端提交数据结构
    修改 onSuccess 回调,将 public_token 合并到提交数据中,同时不要手动拼接 JSON 字符串,直接序列化完整对象:
onSuccess: (public_token, metadata) => {
  document.getElementById('plaidToken').innerHTML = public_token;
  document.getElementById('plaidMetadata2').value = JSON.stringify(metadata, null, 2);
  // 合并参数构造完整的提交对象
  const postData = {
    ...metadata,
    public_token: public_token
  };
  testPost(postData);
  return true;
}

function testPost(valueToPost) {
  $.ajax({
    type: "POST",
    url: "/BankAccount/Link",
    // 直接序列化提交对象,不需要额外套results层
    data: JSON.stringify(valueToPost),
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (response) {
      alert("Hello: " + response.Name + " .\nCurrent Date and Time: " + response.DateTime);
    },
    failure: function (response) {
      alert('failure:  ' + response.responseText);
    },
    error: function (response) {
      document.getElementById('plaidMetadata2').value =  JSON.stringify(valueToPost);
    }
  });
}
  1. 调整控制器参数绑定规则
    给 Action 方法的参数添加 [FromBody] 特性,指定从 JSON 请求体解析数据:
[HttpPost]
public async Task<ActionResult> Link([FromBody] Models.PlaidLinkResults results)
{
    var resultsetToSaveAsLinkedAccounts = results;
    return View("Index");
}
  1. 可选校验:确认模型映射匹配
    你现有的 PlaidLinkResults 和 Institution 模型已经添加了对应的 JsonProperty 特性,和 Plaid 返回的字段命名匹配,无需额外调整,修改后即可正常绑定所有字段。

内容的提问来源于stack exchange,提问作者Mark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 09:15:04