adobe.target.getOffer(options)
此函数会触发用于获取Target选件的请求。
使用 adobe.target.applyOffer() 来处理响应或使用您自己的成功处理。options 参数是强制性的,具有以下结构:
键
            类型
            必需
            描述
          mbox
            字符串
            是
            Mbox 名称
          参数
            对象
            否
            Mbox 参数。键值对这一对象具有以下结构:
{ "param1": "value1", "param2": "value2"}
success
            函数
            是
            当我们从服务器获得响应时执行的回调函数。success 回调函数将接收一个参数,该参数表示一组选件对象。以下是一个success回调示例:
function handleSuccess(response){......}
有关详细信息,请参阅下文的“响应”。
error
            函数
            是
            我们遇到错误时执行的回调函数。以下是几个出现错误的案例:
- HTTP 状态码不是 200 OK
 - 响应无法解析。例如,我们不当地构造了 JSON,或者构造了 HTML 而不是 JSON。
 - 响应包含“error”键值。例如,在边缘服务器上引发异常,无法正确处理请求。我们可能会在 mbox 被阻止并且无法为其检索任何内容等情况发生时收到错误。error 回调函数将接收两个参数:status 和 error。以下是一个错误回调示例: 
function handleError(status, error){......} 
有关详细信息,请参阅下文的“错误响应”。
timeout
            数值
            否
            以毫秒为单位的超时时间。如果未指定,将使用 at.js 中的默认超时设置。
可以在Administration > Implementation下的Target UI中设置默认超时。
示例
正在添加带getOffer()的参数并使用applyOffer()进行成功处理:
adobe.target.getOffer({
  "mbox": "target-global-mbox",
  "params": {
     "a": 1,
     "b": 2
  },
  "success": function(offer) {
        adobe.target.applyOffer( {
           "mbox": "target-global-mbox",
           "offer": offer
        } );
  },
  "error": function(status, error) {
      console.log('Error', status, error);
  }
});
            正在添加参数和getOffer()的配置文件参数,并使用applyOffer()进行成功处理:
adobe.target.getOffer({
  "mbox": "target-global-mbox",
  "params": {
     "a": 1,
     "b": 2,
     "profile.age": 27,
     "profile.gender": "male"
  },
  "success": function(offer) {
        adobe.target.applyOffer( {
           "mbox": "target-global-mbox",
           "offer": offer
        } );
  },
  "error": function(status, error) {
      console.log('Error', status, error);
  }
});
            对getOffer()使用自定义超时和自定义成功处理:
“YOUR_OWN_CUSTOM_HANDLING_FUNCTION”是客户要定义的函数的占位符。
adobe.target.getOffer({
  "mbox": "target-global-mbox",
  "success": function(offer) {
    YOUR_OWN_CUSTOM_HANDLING_FUNCTION(offer);
  },
  "error": function(status, error) {
    console.log('Error', status, error);
  },
  "timeout": 2000
});
            响应
传递给 success 回调函数的响应参数将是一组操作。操作是一个通常具有以下格式的对象:
名称
            类型
            描述
          action
            字符串
            要应用于所标识元素的操作类型。
          selector
            字串符
            表示一个 Sizzle 选择器。
          cssSelector
            字符串
            DOM 原生选择器,用于预隐藏元素。
          content
            字符串
            要应用于所标识元素的内容。
          示例
{
    "sessionId": "1444512212156-384616",
    "tntId": "1444512212156-384616.17_35",
    "offers": [{
        "plugins": ["<script type=\"text/javascript\">\r\n/*mboxHighlight+ (1of2) v1 ==> Response Plugin*/\r\nwindow.ttMETA=(typeof(window.ttMETA)!='undefined')?window.ttMETA:[];window.ttMETA.push({'mbox':'target-global-mbox','campaign':'at: redirect ootb','experience':'Experience B','offer':'/at_redirect_ootb/experiences/1/pages/0/1442082890250'});window.ttMBX=function(x){var mbxList=[];for(i=0;i<ttMETA.length;i++){if(ttMETA[i].mbox==x.getName()){mbxList.push(ttMETA[i])}}return mbxList[x.getId()]}\r\n</script>"],
        "actions": {
            "content": [{
                "passMboxSession": false,
                "selector": "body",
                "action": "redirect",
                "url": "https://example.com/04.html",
                "includeAllUrlParameters": true
            }]
        }
    }]
}
            错误响应
传递给 error 回调函数的“status”和“error”参数将具有以下格式:
名称
            类型
            描述
          status
            字符串
            表示错误状态。该参数可以具有以下值:
- timeout:表示请求超时。
 - parseerror:表示无法解析响应,例如,如果我们收到 HTML 或纯文本而不是 JSON。
 - error:表示常规错误,例如我们收到的 HTTP 状态不是 200 OK
 
error
            字符串
            包含其他数据,例如异常消息或其他任何可能对故障诊断有用的信息。
          recommendation-more-help
            
          6906415f-169c-422b-89d3-7118e147c4e3