H5页面调用android方法传json格式

H5页面调用android方法传递如下格式的json的话,必须用JSON.stringify()转换一下,否则android接收到的是undefined。

//这个是跟公司自己的APP配合时用到的
//生成json传值给APP
var jsonO = {
    "type": 9,
    "id": 0,
    "userInfo": {
        "uid": data.uid,
        "ticket": data.ticket,
        "professionid": data.professionid,
        "phone": data.phone
   }
}
//JSON.stringify这个方法如果不用的话IOS能接收,ANDROID不行,ANDROID获取到的是undefinded。所以要下面的方法转换一下格式:
var jsonStr = JSON.stringify(jsonO);

//判断平台调用方法(方法名跟APP人员协商)
if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) {
    window.webkit.messageHandlers.showSendMsg.postMessage(jsonStr);
    //这里的调用IOS的方法showSendMsg
}else if(navigator.userAgent.match(/android/i)){
    window.android.buyNew(jsonStr);
    //这里调用android的方法buyNew
}

你可能感兴趣的:(H5页面调用android方法传json格式)