与cakephp的concat javascript

时间:2014-02-24 12:02:33

标签: javascript jquery json cakephp

我试图在json对象和cakephp代码之间连接。形成一个有效的超链接。

这是json object = item.Customer.customers_name

我希望json对象(客户名称)显示在cakephp超链接中。

最终结果将是

<li class="icn_list_users">
<a href="/admin/scores/edit_test_a_1/345/abcdef/2949/scores">Ty John</a>
</li>

我似乎无法与顶级联合js和php结合在一起。

    <script type="text/javascript">

     $.getJSON("http://localhost:8888/tests/teststudents.json?id=<?php echo $this->params['pass'][1]; ?>", function(data) {

      var ul = $('#teststudents');

      $.each(data, function (i, item) {
      ul.append($('<li class="icn_list_users"><?php echo $html->link(' + item.Customer.customers_name + ', array('admin'=> true, 'controller' => 'scores','action' => $scoresheetpath, $this->params['pass'][1],$range)); ?></li>'));
      });

      }); 

    </script>

2 个答案:

答案 0 :(得分:2)

您无法结合PHP和JavaScript。 PHP是服务器端语言,Javascript是客户端语言。这意味着PHP将首先被解析,发送到客户端,然后将解析Javascript。如果您需要在Javascript中创建链接,请使用jquery。您可以使用PHP设置Javascript变量,但不能以其他方式设置。

另请参阅此问题:What is the difference between client-side and server-side programming?

答案 1 :(得分:0)

正如Eagle所说,由于概念不同,你无法连接php和json对象。但您可以做的是对代码进行一些调整,如下所示,您可以根据需要显示列表。

    <script type="text/javascript">

     $.getJSON("http://localhost:8888/tests/teststudents.json?id=<?php echo $this->params['pass'][1]; ?>", function(data) {

      var ul = $('#teststudents');

      $.each(data, function (i, item) {
         ul.append('<li class="icn_list_users"><a href="/admin/scores/edit_test_a_1/345/abcdef/2949/scores">' + item.Customer.customers_name + '</a></li>');
      });

      }); 

</script>

希望它有所帮助。