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

Classic ASP集成PayPal Checkout API:获取form-data请求变量

解决Classic ASP中读取PayPal Checkout请求参数的问题

一、直接修复前端请求,让Request.Form正常获取参数

你的前端代码虽生成了form-data格式的payload,但存在两个问题:未设置正确的请求头,且encodeFormData的实现可能不符合标准。直接使用原生FormData对象,让浏览器自动处理请求头和编码,后端就能用Request.Form直接读取参数:

var postData = new FormData();
postData.append('paypal_order_check', 1);
postData.append('order_id', orderData.id);

fetch('paypal_checkout_validate.asp', {
  method: 'POST',
  body: postData
});

修改后,后端直接用以下代码获取参数:

Dim paypalCheck, orderId
paypalCheck = Request.Form("paypal_order_check")
orderId = Request.Form("order_id")

二、若坚持用aspJSON解析,这样提取参数

你之前的核心矛盾是:前端发送的是form-data格式,而非JSON,aspJSON解析非JSON格式的请求体本身就不合理。如果已经通过aspJSON读取了请求体,需按组件语法访问数据:

  1. 确保正确加载原始请求体:
Set objJSON = New aspJSON
objJSON.Load(Request.BinaryRead(Request.TotalBytes))
  1. 从data属性中提取参数:
Dim paypalOrderCheck, orderId
paypalOrderCheck = objJSON.data("paypal_order_check")
orderId = objJSON.data("order_id")

三、排查Request.Form无法读取的深层原因

如果不想修改前端,需验证两个关键点:

  • 检查encodeFormData生成的payload是否符合标准form-data格式,包括正确的边界符、参数编码
  • 在ASP后端输出Request.TotalBytes值,确认请求体是否正常到达;再用Request.BinaryRead读取原始内容,对比前端发送的payload是否一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 12:25:02