美文网首页
apicloud使用api.execScript({})传递JS

apicloud使用api.execScript({})传递JS

作者: CoderZb | 来源:发表于2019-12-17 18:29 被阅读0次

    apicloud中使用api.execScript({})来传递数据是非常常见且实用的做法:

    • 传递单字符串的方式这里就不介绍了我的这篇文章有
    • 下面介绍一下使用api.execScript({})传递json数据的做法和注意点。

    ret对象包含着如下json

    {
      "msg": "查询成功!",
      "data": [
        {
          "user_name": "游客",
          "n_look": 0,
          "settlement": "月结",
          "order_type": 3,
          "title": "水管维修",
          "user_phone": "19300000004",
          "interview_time": "2019-12-19 14:36:00",
          "user_id": 37434,
          "offer_price": "10.00",
          "time": null,
          "worktype": "可长期做",
          "needcount": 1,
          "statetype": 1,
          "lng": "119.5001357006763",
          "education_requirements": 0,
          "is_collect": 0,
          "need_age": "不限",
          "is_expire": 1,
          "last_look": 0,
          "welfare": "",
          "share_message": "",
          "imagelist": [
            
          ],
          "speciality_name": null,
          "date": null,
          "distance": 0.1,
          "lat": "35.43889696643526",
          "unit": "元/月",
          "price": "1700",
          "working_life": 0,
          "need_sex": 0,
          "content": "快来吧",
          "address": "山东省日照市东港区山东路518号"
        }
      ],
      "code": 1
    }
    

    A页面的frame向A页面的window传递json数据

    强烈注意:传递json数据,函数必须被双引号包围,然后 参数必须是单引号嵌双引号的方式,不采用这种方式,无法给window传递json数据。而传递单字符传的方式就没有这种注意点了。

    • A的frame页面
    // 将JSON的对象转成JSON字符串,作为函数的参数
    api.execScript({
          script: "orderDetailDataFunc('"+JSON.stringify(ret.data[0])+"');"
    });
    
    • A的window页面
    function orderDetailDataFunc(JsonStr) {
          console.log("传递的数据为" + JsonStr);
        // 将JSON字符串转成JSON对象,该页面就可以使用点语法取出JSON对象中的数据
          orderDetailData = JSON.parse(JsonStr);
    }
    

    相关文章

      网友评论

          本文标题:apicloud使用api.execScript({})传递JS

          本文链接:https://www.haomeiwen.com/subject/cchenctx.html