如何获取ColdFusion中shipToResidential的值以用于其他操作?
嘿,这个问题很好解决,有两种常用的方式,看你是想用传入的原始值,还是从FedEx的返回响应里取——给你细说:
方式1:直接用原始的表单值
你在调用fedexShipper.processShipmentRequest()的时候,shipToResidential参数直接传的是form.ResidentialAddress,所以完全可以在任何需要的地方直接引用这个表单变量,不用绕弯:
<cfset residentialValue = form.ResidentialAddress> <!-- 举个业务逻辑的例子 --> <cfif residentialValue> <p>这是一个住宅地址,需要安排住宅配送服务</p> <cfelse> <p>这是商用地址,按常规配送流程处理</p> </cfif>
这种方式最直接,毕竟你已经有了这个值,没必要额外去解析返回结果。
方式2:从fedexReply响应中提取(如果API支持的话)
如果fedexShipper.processShipmentRequest()返回的fedexReply对象里包含了请求时传入的shipToResidential信息(有些API会把请求参数也包含在响应里),那你可以通过访问对象的属性来获取。具体的属性名得看这个方法的文档,或者直接用<cfdump>查看响应结构:
<!-- 先打印响应结构,找到对应的字段 --> <cfdump var="#fedexReply#" label="FedEx Response"> <!-- 假设找到的属性是ShipTo.Residential,就这么取 --> <cfset residentialValue = fedexReply.ShipTo.Residential>
比如有些FedEx集成的响应里,这个值可能在ShipmentDetails或者Recipient这类节点下,dump一下就能一目了然。
内容的提问来源于stack exchange,提问作者jacob
相关产品推荐
相关产品推荐

