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

解决方案 »

  1.   

    你开启了php的段标签模式了吗?
    <?少了一个php  <?php
      

  2.   

    没可能。PHP是服务器端语言,JS是浏览器端语言。apache先执行PHP代码,解析成HTML代码后下载到用户的浏览器,浏览器再执行JS语言进一步渲染。所以当你的代码运行先运行PHP,再运行TOP.api,等执行到<script>document.write(abc);</script>时,已经从apache断开。
      

  3.   

    楼上是正确的, 使用 AJAX 吧!!!
      

  4.   


    <script type="text/javascript">
        TOP.api('rest', 'get', {
            //method:'taobao.taobaoke.items.convert',
            method : 'taobao.taobaoke.widget.items.convert',
            num_iids : '<?=$id?>',
            fields : 'num_iid,click_url,commission_rate'
        }, function(resp) {
            if(resp.error_response) {
                alert('taobao.taobaoke.widget.items.convert接口获取商信息品失败!' + resp.error_response.msg);
                return false;
            }
      
            var respItem = resp.taobaoke_items.taobaoke_item;
            for(var i = 0; i < respItem.length; i++) {
                abc=respItem[i].num_iid;
            }
            $.post('',{abc:abc},function(data){})//这里添加ajax请求
        })
    </script>
    <?
    if(isset($_POST['abc']))
    {
        $abc = $_POST['abc'];
        echo $abc;
    }
    ?>楼主可以根据ajax的这种方法来修改您自己的代码
      

  5.   


    用这种方式提交到同一页面, 现在问题是接收不到值 $abc=$_POST['abc'];  收不到值,请大家帮忙。 
      

  6.   

    <script type="text/javascript">
        TOP.api('rest', 'get', {
            //method:'taobao.taobaoke.items.convert',
            method : 'taobao.taobaoke.widget.items.convert',
            num_iids : '<?=$id?>',
            fields : 'num_iid,click_url,commission_rate'
        }, function(resp) {
            if(resp.error_response) {
                alert('taobao.taobaoke.widget.items.convert接口获取商信息品失败!' + resp.error_response.msg);
                return false;
            }
      
            var respItem = resp.taobaoke_items.taobaoke_item;
            for(var i = 0; i < respItem.length; i++) {
                abc=respItem[i].num_iid;
            }
        })document.write(abc);</script>试一下这种形式
      

  7.   


    最终目的是要将 JS中变量的值 传给同页面的 PHP 变量,    还是感谢这么多热心的朋友!
      

  8.   

    js和php是在不同的两个地区,一个在北京,一个在南京,php中的值到js中,是通过服务器传到客户端,js到php,是客户端传到服务器,还是要通过某种get或post机制,类似提交的。
      

  9.   

    其实,从客户端通过js取得数据,是可以通过某个事件驱动提交的,1种是ajax,另一种是在满足一定条件的时候触发提交,比如通过setTimeout,满足一定条件,触发submit提交。总之,能完成lz的需要。
      

  10.   

    本帖最后由 PhpNewnew 于 2012-12-24 22:24:19 编辑