ap.getSessionData 读取会话级数据

优质
小牛编辑
133浏览
2023-12-01

ap.getSessionData(OPTION | keys | key, CALLBACK)

读取会话级数据。可用于页面间传递数据。
可直接传入一个数组作为 OPTION.keys,或直接传入一个字符串,作为 OPTION.keys 数组中的某一个 key。

OPTION 参数说明

名称类型必填描述
keysString Array要读取的数据的 key

CALLBACK 参数说明

名称类型描述
dataObjectkeys 相应字段对应的数据

代码演示

<script src="https://gw.alipayobjects.com/as/g/h5-lib/alipayjsapi/3.1.1/alipayjsapi.inc.min.js"></script>

<button style="display:none" class="btn btn-default">读取数据</button>
<button style="display:none" class="btn btn-default">写入数据并打开新页面</button>
<script>
  var btnSet= document.querySelector('#J_btn_set');
  var btnGet = document.querySelector('#J_btn_get');
  if ( btnGet instanceof HTMLElement && btnSet instanceof HTMLElement ) {
    if (ap.parseQueryString().for === 'sessionData') {
      btnGet.style.display = 'block'
    } else {
      btnSet.style.display = 'block';
    }
  }
  btnSet.addEventListener('click', function(){
    ap.setSessionData({
      data: {
        cities: [
          {
            cityName: '杭州',
            adCode: '330100',
            spell: ' hangzhou'
          }
        ],
        provinceName: '浙江省',
        countryName: '中国'
      }
    });
    setTimeout(function(){
      ap.pushWindow({
        url: 'getSessionData-demo.html',
        data: {
          for: 'sessionData'
        }
      });
    },100);
  });
  btnGet.addEventListener('click', function(){
    ap.getSessionData('cities', function(res) {
      ap.alert(res.data.cities[0].cityName);
    })
  });
</script>