0

PHPファイルから変数をJSに送信するこのコードがあります。

<script type="text/javascript">
var pids = new Array(<?php echo implode(', ', $pids); ?>);
var permalink = "My name is <?php the_permalink(); ?>";
</script>  

私の理解を超えた理由で、「私の名前は」を取り除くと、構文エラーになります。

<script type="text/javascript">
var pids = new Array(<?php echo implode(', ', $pids); ?>);
var permalink = "<?php the_permalink(); ?>";
</script>  

出力はなく、スクリプトは終了します。

 [Syntax Error]     

        = new Array(67, 68, 69, 70, 71,

最初のコードは機能していましたが、変更がないにもかかわらず、自然に停止しました。今、どちらも機能しません。

問題は前のコードであることがわかりました。小なり記号が小なりまたは等しいに変更されると、javascript 構文エラーが発生します。どういうわけか、これは配列または内破関数を壊さなければなりません

 $pids = array();
  $i=0;

  $result = count($wpdb->last_result);
  while($i < $result) {    

     $pids[] = $wpdb->last_result[$i]->pid;
     $i++;
  }
?>

<script type="text/javascript">
var pids = new Array(<?php echo implode(', ', $pids); ?>);
var permalink = "My name is <?php the_permalink(); ?>";
</script>  
4

3 に答える 3

0

それを試してみてください:

var permalink = "My name is '<?php the_permalink(); ?>'";
于 2013-01-14T09:04:51.157 に答える
0

これを試して :

var permalink = "My name is " + <?php the_permalink(); ?>;
于 2013-01-14T09:07:18.670 に答える
0

おそらく、php 出力関数の 1 つに ' または " が含まれている可能性があります。それらをエスケープしてみてください。これは、pid の 1 つが間違ったタイプで、implode が終了しない場合にも発生する可能性があります。

于 2013-01-14T09:05:47.777 に答える