在ColdFusion中显示和/或使用表单字段,如果您只是尝试用磅标记包装它们,那么这些字段是无效的
我在ajax中发布了一个名为trxdetails的对象到cfm页面。在ColdFusion中显示和/或使用表单字段,如果您只是尝试用磅标记包装它们,那么这些字段是无效的
// onAuthorize() is called when the buyer approves the payment
onAuthorize: function(data, actions) {
return actions.payment.get()
// PayPal Info
.then(function (paypalinfo) {
console.log(paypalinfo)
})
// Execute Payment
.then(actions.payment.execute)
// Transaction Details
.then(function (trxdetails) {
console.log(trxdetails)
$.ajax({
url: 'PayPalExpress/ajax_trxdetails.cfm',
type: 'post',
data: trxdetails,
success: function(json) {
console.log(json)
}
});
})
//.then(trxdetails => console.log(trxdetails));
}
当我cfdump形式,我得到这些字段名称:
ID,意向,州,CART,付款人[PAYMENT_METHOD],付款人[状态],付款人[PAYER_INFO] [EMAIL] PAYER [PAYER_INFO] [FIRST_NAME],PAYER [PAYER_INFO] [MIDDLE_NAME],PAYER [PAYER_INFO] [LAST_NAME],PAYER [PAYER_INFO] [PAYER_ID],PAYER [PAYER_INFO] [COUNTRY_CODE],PAYER [PAYER_INFO] [SHIPPING_ADDRESS] [RECIPIENT_NAME] ,PAYER [PAYER_INFO] [SHIPPING_ADDRESS] [LINE1],PAYER [PAYER_INFO] [SHIPPING_ADDRESS] [CITY],PAYER [PAYER_INFO] [SHIPPING_ADDRESS] [STATE],PAYER [PAYER_INFO] [SHIPPING_ADDRESS] [POSTAL_CODE],PAYER [PAYER_INFO] [ SHIPPING_ADDRESS] [COUNTRY_CODE],TRANSACTIONS [0] [AMOUNT] [TOTAL],TRANSACTIONS [0] [AMOUNT] [货币],TRANSACTIONS [0] [RELATED_RESOURCES] [0] [出售] [ID],TRANSACTIONS [0] [RELATED_RESOURCES] [0] [出售] [STATE],TRANSACTIONS [0] [RELATED_RESOURCES] [0 ] [出售] [PAYMENT_MODE],TRANSACTIONS [0] [RELATED_RESOURCES] [0] [出售] [PROTECTION_ELIGIBILITY],TRANSACTIONS [0] [RELATED_RESOURCES] [0] [出售] [PARENT_PAYMENT],TRANSACTIONS [0] [RELATED_RESOURCES] [ 0] [出售] [AMOUNT] [TOTAL],TRANSACTIONS [0] [RELATED_RESOURCES] [0] [出售] [AMOUNT] [货币],TRANSACTIONS [0] [RELATED_RESOURCES] [0] [出售] [TRANSACTION_FEE] [VALUE ],TRANSACTIONS [0] [RELATED_RESOURCES] [0] [出售] [TRANSACTION_FEE] [货币]
当我尝试诸如输出它们中的一个:
<cfoutput>#FORM.PAYER[PAYER_INFO][EMAIL]#</cfoutput>
我收到此错误
元素PAYER未定义在class [Ljava.lang.String;类型的Java对象中。
由于您的表单变量名状结构,你不应该使用.
符号访问的变量。当你使用。变量它会认为是
<cfoutput>#FORM.PAYER[PAYER_INFO][EMAIL]#</cfoutput>
PAYER是Form结构中的关键。
相反,你可以得到数据如下
<cfoutput>#FORM["PAYER[PAYER_INFO][EMAIL]"]#</cfoutput>
在这种情况下的ColdFusion将把PAYER [PAYER_INFO] [EMAIL]与表格结构
非常感谢! – cfEngineers
的关键。如果您简化表单字段名称,处理表单提交会更简单。 –
我无法控制他们从贝宝回来的这些字段名称 – cfEngineers