通过PHP返回JavaScript - 好主意还是坏主意?

时间:2015-04-27 10:31:36

标签: javascript php jquery ajax

所以我有一个jQuery AJAX调用,在单击时构建一个配置文件。它只会被调用一次所以我认为我可以将脚本弹出到生成的html中,而不是将其放在成功 AJAX调用中。

while($row = mysql_fetch_array($result)){
      $content .= '
          <div class="content cols-1 points">
            <h3>Points</h3>
            <span>
              <b class="points_1" data-points="'.$row['p_1'].'"></b> 
              <b class="points_2" data-points="'.$row['p_2'].'"></b>
              <b class="points_3" data-points="'.$row['p_3'].'"></b>
              <b class="points_4" data-points="'.$row['p_4'].'"></b>
            </span>
          </div>
        ';
}

$content.= '
    <script type="text/javascript">
      $(".points b").click(function(){
        setDots(this);
      })
    </script>
';

echo $content;

感觉更干净,它只在我拥有所需的HTML时执行,并且我没有在页面加载时拥有尽可能多的JavaScript ......但这是不好的做法吗?

如果有任何缺陷,请解释任何缺陷。谢谢!

1 个答案:

答案 0 :(得分:1)

我没有看到任何特殊的缺陷,除了每一个AJAX响应返回JS的几行,这增加了(非常轻微)AJAX响应的大小,这反过来又给了很多流量,增加带宽使用。那个,以及从AJAX返回JS的事实总是令人不悦......

所以我会在使用文档上的事件处理程序进行AJAX调用的页面中编写它,如下所示:

$(document).on('click','.points b', function() { setDots(this) });