Heim >Backend-Entwicklung >PHP-Tutorial >php 怎么获取JS的值 ,新手折腾几天了 还请大侠赐教

php 怎么获取JS的值 ,新手折腾几天了 还请大侠赐教

WBOY
WBOYOriginal
2016-06-13 11:11:341105Durchsuche

php 如何获取JS的值 ,新手折腾几天了 还请大侠赐教!
请问以下代码如何修改才能得到 $key 值 

<br /><script type="text/javascript"><br />	TOP.api('rest', 'get', {<br />		//method:'taobao.taobaoke.items.convert',<br />		method : 'taobao.taobaoke.widget.items.convert',<br />		num_iids : '<?=$id?>',<br />		fields : 'num_iid,click_url,commission_rate'<br />	}, function(resp) {<br />		if(resp.error_response) {<br />			alert('taobao.taobaoke.widget.items.convert接口获取商信息品失败!' + resp.error_response.msg);<br />			return false;<br />		}<br /> <br />		var respItem = resp.taobaoke_items.taobaoke_item;<br />		for(var i = 0; i < respItem.length; i++) {<br />			abc=respItem[i].num_iid;<br />		}<br />	})<br /></script><br /><?<br />$key="<script>document.write(abc);</script>";<br />echo $key;  //请问大侠们如何修改这里才能得到值 感激不尽!<br />?>



------解决方案--------------------
没可能。PHP是服务器端语言,JS是浏览器端语言。apache先执行PHP代码,解析成HTML代码后下载到用户的浏览器,浏览器再执行JS语言进一步渲染。所以当你的代码运行先运行PHP,再运行TOP.api,等执行到<script>document.write(abc);</script>时,已经从apache断开。
------解决方案--------------------
楼上是正确的, 使用 AJAX 吧!!!
------解决方案--------------------
<br /><script type="text/javascript"><br />    TOP.api('rest', 'get', {<br />        //method:'taobao.taobaoke.items.convert',<br />        method : 'taobao.taobaoke.widget.items.convert',<br />        num_iids : '<?=$id?>',<br />        fields : 'num_iid,click_url,commission_rate'<br />    }, function(resp) {<br />        if(resp.error_response) {<br />            alert('taobao.taobaoke.widget.items.convert接口获取商信息品失败!' + resp.error_response.msg);<br />            return false;<br />        }<br />  <br />        var respItem = resp.taobaoke_items.taobaoke_item;<br />        for(var i = 0; i < respItem.length; i++) {<br />            abc=respItem[i].num_iid;<br />        }<br />        $.post('',{abc:abc},function(data){})//这里添加ajax请求<br />    })<br /></script><br /><?<br />if(isset($_POST['abc']))<br />{<br />    $abc = $_POST['abc'];<br />    echo $abc;<br />}<br />?><br />

楼主可以根据ajax的这种方法来修改您自己的代码
------解决方案--------------------
其实,从客户端通过js取得数据,是可以通过某个事件驱动提交的,1种是ajax,另一种是在满足一定条件的时候触发提交,比如通过setTimeout,满足一定条件,触发submit提交。总之,能完成lz的需要。
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn