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。以下是一个 error 回调示例: function handleError(status, error){......}
有关详细信息,请参阅下文的“错误响应”。
timeout 数值 以毫秒为单位的超时时间。如果未指定,将使用 at.js 中的默认超时设置。
可以在“管理”>“实施”下的 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 字符串 表示错误状态。该参数可以具有以下值:
  • 超时: 表示请求超时。
  • parseerror:表示无法解析响应,例如,如果我们收到 HTML 或纯文本而不是 JSON。
  • error:表示常规错误,例如我们收到的 HTTP 状态不是 200 OK
错误 字符串 包含其他数据,例如异常消息或其他任何可能对故障诊断有用的信息。

On this page

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now