function tag_user(result) { var obj = document.getelementbyid(result.id); var txtobj = document.getelementbyid(result.txtid); var before_display = document.getelementbyid(result.id) ? document.getelementbyid(result.id).style.display : ''; var before_html = ''; var before_txt_html = ''; if (txtobj) { before_txt_html = txtobj.innerhtml; if ('login' == result.type) { txtobj.innerhtml = 'loading…'; } } else if (obj) { before_html = obj.innerhtml; if ('login' == result.type) { obj.innerhtml = 'loading…'; } } if (obj) { obj.style.display="none"; } else { obj = txtobj; } //步骤一:创建异步对象 var ajax = new xmlhttprequest(); //步骤二:设置请求的url参数,参数一是请求的类型,参数二是请求的url,可以带参数,动态的传递参数starname到服务端 var url = result.root_dir+"/index.php?m=api&c=ajax&a=check_user&type="+result.type+"&img="+result.img+"&afterhtml="+result.afterhtml; if (result.currentstyle != '') { url += "¤tstyle="+result.currentstyle; } ajax.open("post", url, true); // 给头部添加ajax信息 ajax.setrequestheader("x-requested-with","xmlhttprequest"); // 如果需要像 html 表单那样 post 数据,请使用 setrequestheader() 来添加 http 头。然后在 send() 方法中规定您希望发送的数据: ajax.setrequestheader("content-type","application/x-www-form-urlencoded"); //步骤三:发送请求+数据 ajax.send('_ajax=1'); //步骤四:注册事件 onreadystatechange 状态改变就会调用 ajax.onreadystatechange = function () { //步骤五 如果能够进到这个判断 说明 数据 完美的回来了,并且请求的页面是存在的 if (ajax.readystate==4 && ajax.status==200) { var json = ajax.responsetext; var res = json.parse(json); if (1 == res.code) { if (1 == res.data.ey_is_login) { if (obj) { if ('login' == result.type) { if (result.txt.length > 0) { res.data.html = result.txt; } if (txtobj) { txtobj.innerhtml = res.data.html; } else { if (result.afterhtml) { obj.insertadjacenthtml('afterend', res.data.html); obj.remove(); } else { obj.innerhtml = res.data.html; } } try { obj.setattribute("href", result.url); if (!before_display) { obj.style.display=before_display; } }catch(err){} } else if ('logout' == result.type) { if (txtobj) { txtobj.innerhtml = before_txt_html; } else { obj.innerhtml = before_html; } try { if (!before_display) { obj.style.display=before_display; } }catch(err){} } else if ('reg' == result.type) { obj.style.display="none"; } else if ('cart' == result.type) { try { var cartidobj = document.getelementbyid(result.cartid); if (cartidobj) { cartidobj.innerhtml = res.data.ey_cart_num_20191212; } if (!before_display) { obj.style.display=before_display; } }catch(err){} } } } else { // 恢复未登录前的html文案 if (obj) { if (txtobj) { txtobj.innerhtml = before_txt_html; } else { obj.innerhtml = before_html; } if ('logout' == result.type) { obj.style.display="none"; } else if ('cart' == result.type) { try { var cartidobj = document.getelementbyid(result.cartid); if (cartidobj) { cartidobj.innerhtml = res.data.ey_cart_num_20191212; } if (!before_display) { obj.style.display=before_display; } }catch(err){} } else { try { if (!before_display) { obj.style.display=before_display; } }catch(err){} } } } } else { if (obj) { obj.innerhtml = 'error'; try { if (!before_display) { obj.style.display=before_display; } }catch(err){} } }  } } } function tag_user_info(result) { var obj = document.getelementbyid(result.t_uniqid); var before_display = ''; if (obj) { before_display = obj.style.display; obj.style.display="none"; } //步骤一:创建异步对象 var ajax = new xmlhttprequest(); //步骤二:设置请求的url参数,参数一是请求的类型,参数二是请求的url,可以带参数,动态的传递参数starname到服务端 ajax.open("post", result.root_dir+"/index.php?m=api&c=ajax&a=get_tag_user_info&t_uniqid="+result.t_uniqid, true); // 给头部添加ajax信息 ajax.setrequestheader("x-requested-with","xmlhttprequest"); // 如果需要像 html 表单那样 post 数据,请使用 setrequestheader() 来添加 http 头。然后在 send() 方法中规定您希望发送的数据: ajax.setrequestheader("content-type","application/x-www-form-urlencoded"); //步骤三:发送请求+数据 ajax.send('_ajax=1'); //步骤四:注册事件 onreadystatechange 状态改变就会调用 ajax.onreadystatechange = function () { //步骤五 如果能够进到这个判断 说明 数据 完美的回来了,并且请求的页面是存在的 if (ajax.readystate==4 && ajax.status==200) { var json = ajax.responsetext; var res = json.parse(json); if (1 == res.code) { if (1 == res.data.ey_is_login) { var dtypes = res.data.dtypes; var users = res.data.users; for (var key in users) { var subobj = document.getelementbyid(key); if (subobj) { if ('img' == dtypes[key]) { subobj.setattribute("src", users[key]); } else if ('href' == dtypes[key]) { subobj.setattribute("href", users[key]); } else { subobj.innerhtml = users[key]; } } } if (obj) { try { if (!before_display) { obj.style.display=before_display; } }catch(err){} } } else { if (obj) { obj.style.display="none"; } } }  } } } // 读取 cookie function getcookie(c_name) { if (document.cookie.length>0) { c_start = document.cookie.indexof(c_name + "=") if (c_start!=-1) { c_start=c_start + c_name.length+1 c_end=document.cookie.indexof(";",c_start) if (c_end==-1) c_end=document.cookie.length return unescape(document.cookie.substring(c_start,c_end)) } } return ""; }