gpt4 book ai didi

arrays - 访问发送的表单变量中的数组

转载 作者:行者123 更新时间:2023-12-02 07:34:37 25 4
gpt4 key购买 nike

我正在使用 PayPal,我需要这段代码来阅读 API 的付款响应后:

<cfif StructKeyExists(FORM.TRANSACTION[0],"ID_FOR_SENDER_TXN")>
<cfset pTxnId = FORM.TRANSACTION[0].ID_FOR_SENDER_TXN />
</cfif>

但是当我运行支付响应测试工具时,我得到了这个错误:500 Element TRANSACTION is undefined in an Java object of type [Ljava.lang.String;.

我使用了这个循环:
<cfloop collection="#form#" item="theField">
<cfif theField is not "fieldNames">
#theField# = #form[theField]#<br>
</cfif>
</cfloop>

查看 FORM 中发送的变量,变量是这样的:
  • TRANSACTION[0].ID_FOR_SENDER_TXN
  • TRANSACTION[0].IS_PRIMARY_RECEIVER
  • TRANSACTION[0].RECEIVER TRANSACTION[0].AMOUNT
  • TRANSACTION[0].STATUS_FOR_SENDER_TXN

  • 我不知道为什么我不能访问这个。

    (评论更新)

    尝试使用此代码:
    <cfif isDefined("form['FORM.TRANSACTION[0].ID_FOR_SENDER_TXN']")> 
    <cfset pTxnId = form['FORM.TRANSACTION[0].ID_FOR_SENDER_TXN'] />
    </cfif>

    现在我收到错误:

    500 Parameter 1 of function IsDefined, which is now form['FORM.TRANSACTION[0].ID_FOR_SENDER_TXN'], must be a syntactically valid variable name.



    如果我使用同样的错误
    form['FORM.TRANSACTION[0].ID_FOR_SENDER_TXN']

    或者
    form['TRANSACTION[0].ID_FOR_SENDER_TXN']

    更新 2

    曾与:
    <cfif structKeyExists(FORM, "TRANSACTION[0].ID_FOR_SENDER_TXN")>

    </cfif>

    谢谢!

    最佳答案

    如果表单字段名称是 TRANSACTION[0].ID_FOR_SENDER_TXN (这是您的调试循环所指示的),那么您应该将其寻址为:

    form['FORM.TRANSACTION[0].ID_FOR_SENDER_TXN']

    澄清:

    当您使用此表示法访问变量时:
    <cfset pTxnId = FORM.TRANSACTION[0].ID_FOR_SENDER_TXN />

    ColdFusion 需要这种数据结构:

    http://note.io/15v3o51

    它在名为 transaction 的表单中查找一个键,并尝试从中获取第 0 个索引(旁注:这在 CF 中无论如何都不起作用,数组从索引 1 开始),并且作为数组中的第一项,它是期望具有名为 ID_FOR_SENDER_TXN 的键的结构。

    但是,PayPal 发送给您的内容实际上是使用这种格式:

    http://note.io/19nTSZR

    这解释了错误消息:“元素 TRANSACTION 在类 [Ljava.lang.String; 类型的 Java 对象中未定义;。”

    关于arrays - 访问发送的表单变量中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18191680/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com