为什么我的js变量没有正确找到php变量

时间:2012-09-18 08:35:53

标签: javascript

我正在阅读一个文本文件。然后在名为“$ arrpg”的数组中将其拆分为100个单词,然后在我的js代码中将其加载到js变量时,var无法正确获取数组值。如果您不介意,请参阅我上传的链接以供测试(link

这里我的输入文本文件是“

  

MUSICISTA E O GUERREIRO   Ànoite,deitado,no escuro,nãtenohoforçasparaevitar o concerto davirtuosemuriçoca。 Ela vemdaliatéaquina velocidade do som。 Procuraprapurá-la comamão,elavivace - ...........................更多

我的js代码是

    <script type="text/javascript" charset="UTF-8">


$(document).ready(function() {




    var ind=0;
   var tempv1;
   var tempv2;


    var pages=<?php echo json_encode((int)($page_num));?>;

    var jsarr= <?php echo json_encode($arrpg); ?>;


    var wmap=<?php 

    echo json_encode($word_map); ?>;
    var myurl=<?php echo json_encode($my_link.'write_comment/'.$file_name.'/'.$total_word.'/');?>











     $('.more').each(function() {



        pages++;

           $(this).html(jsarr[ind]);

        tempv2= ' <a class="link2" href="'+myurl+wmap[0]  + '">';


        if(pages!==1)
        {

            tempv1='<span>.... <a href=""class="link1">Read more</a></span>';
            tempv2='<br><br>'+tempv2+'Stop reading</a>';
            $('div.link1').html(tempv1);
            $('div.link2').html(tempv2);


        }
        else
        {


            tempv2='<br><br>'+tempv2+'Please a feedback</a>';

            $('div.link2').html(tempv2);


        }





            scroll();









        });   


    $(".link1").click(function(){


        ind++;


        $('div.more').append(jsarr[ind]);



        tempv2= '<a class="link2" href="'+myurl+wmap[ind]  + '">';

        if(ind<(pages-1) )
        {
            tempv1='<span>.... <a href=""class="link1">Read more</a></span>';
            tempv2='<br><br>'+tempv2+'Stop reading</a>';


            $('div.link1').html(tempv1);
            $('div.link2').html(tempv2);

        }
        else 
        {
            tempv2='<br><br>'+tempv2+'Please a feedback</a>';

            tempv1='';
            $('div.link1').html(tempv1);







            $('div.link2').html(tempv2);


        }



        scroll();

        return false;
    });
});



            function scroll(){
  $('html, body').animate({
    scrollTop: $("#ft").offset().top
  }, 0);
}



</script>

在这个jsarr的代码声明中无法正确获取值。看到链接你会意识到更多。请帮忙。

第一次编辑后

`<script type="text/javascript" charset="UTF-8">


$(document).ready(function() {




    var ind=0;
   var tempv1;
   var tempv2;


    var pages=5;

    var jsarr= [" A MUSICISTA E O GUERREIRO\r\n"," a m"," agudo violino. Cubro a\\norelha, sinto calor, descubro a orelha, escuto a muri"," da habilidosa\\ninstrumentista. Na manh"," palmas de\\nminhas m"," morta, rubronegra\\n-- na plan"];
    alert(jsarr);

    var wmap=[30,60,90,120,150,175];
    var myurl="http:\/\/leiame.patio.com.br\/read\/write_comment\/muricoca\/175\/"  











     $('.more').each(function() {



        pages++;

           $(this).html(jsarr[0]);

        tempv2= ' <a class="link2" href="'+myurl+wmap[0]  + '">';


        if(pages!==1)
        {

            tempv1='<span>.... <a href=""class="link1">Read more</a></span>';
            tempv2='<br><br>'+tempv2+'Stop reading</a>';
            $('div.link1').html(tempv1);
            $('div.link2').html(tempv2);


        }
        else
        {


            tempv2='<br><br>'+tempv2+'Please a feedback</a>';

            $('div.link2').html(tempv2);


        }





            scroll();









        });   


    $(".link1").click(function(){


        ind++;


        $('div.more').append(jsarr[ind]);



        tempv2= '<a class="link2" href="'+myurl+wmap[ind]  + '">';

        if(ind<(pages-1) )
        {
            tempv1='<span>.... <a href=""class="link1">Read more</a></span>';
            tempv2='<br><br>'+tempv2+'Stop reading</a>';


            $('div.link1').html(tempv1);
            $('div.link2').html(tempv2);

        }
        else 
        {
            tempv2='<br><br>'+tempv2+'Please a feedback</a>';

            tempv1='';
            $('div.link1').html(tempv1);







            $('div.link2').html(tempv2);


        }



        scroll();

        return false;
    });
});



            function scroll(){
  $('html, body').animate({
    scrollTop: $("#ft").offset().top
  }, 0);
}



</script>`

2 个答案:

答案 0 :(得分:0)

json_encode对非utf8字符有一些麻烦。

然后在找到的第一个非utf8 char处停止json编码中的字符串解析。

所以我建议:

utf8_encode $ arrpg中的每个值,然后再提交给json_encode。

答案 1 :(得分:0)

function fix_encoding (&$item, $key)
{
    $item = utf8_encode ($item);
}

array_walk_recursive ($arrpg, 'fix_encoding');