PHP - Jquery - 初学者 - 我做得对吗?

时间:2015-08-22 16:02:37

标签: php jquery security

我正在开展一个小项目,之前从未使用过Jquery。我想知道在采取更多措施之前我是否采取了正确的方式。

这基本上就是我的用户界面:

 <ul id="Navigation">
      <li id="HomeButton">Home</li>
      <li id="NewsButton">News</li>
      <li id="AboutUsButton">AboutUsButton</li>
 </ul>

 <div id="Content"></div>

 <script type="text/javascript">
      $("#HomeButton").on("click", function(){
           $("#Content").load("pages/home.php");
      }); 
      $("#NewsButton").on("click", function(){
           $("#Content").load("pages/news.php");
      });  
      $("#AboutUsButton").on("click", function(){
           $("#Content").load("pages/asbout_us.php");
      });           
 </script>

这是构建动态jquery UI的正确方法吗?

这基本上就是我如何处理数据库相关的东西:

操作的文件名:

 clear_inventory.php

此代码将数据库表中的库存槽设置为0,并回显结果。

与行动相关的用户界面:

 <button id="ClearInventoryButton">Clear Inventory</button>

 <div id="ClearInventoryResult"></div>

 <script type="text/javascript">
      $("#ClearInventoryButton").one("click", function(){
           $("#ClearInventoryResult").load("actions/clear_inventory.php");
      });

这是正确/安全的方式吗?

提前感谢您的回答。

很抱歉,如果之前有人问过这个问题。

2 个答案:

答案 0 :(得分:1)

对于您的第一个问题,您应该努力不要多余并使用class之类的常规选择器,然后使用this缩小选择范围:

<ul id="Navigation">
      <li class="nav_btn" data-link="pages/home.php">Home</li>
      <li class="nav_btn" data-link="pages/news.php">News</li>
      <li class="nav_btn" data-link="pages/asbout_us.php">AboutUsButton</li>
</ul>

<script type="text/javascript">
      $("#Navigation").on("click",".nav_btn", function(){
           window.location  =   $(this).data("link");
      });
</script>

关于你的第二个问题,你听起来像是在谈论AJAX,这一点尚不清楚,所以我不能对此发表评论。

编辑:关于AJAX:

您需要使用$.get$.post$.ajax函数进行ajax调用,如:

$("#ClearInventoryButton").click(function() {
    $.ajax({
            url: 'actions/clear_inventory.php',
            type: 'post',
            data: { reset: true }
            success: function(response) {
                    $("#ClearInventoryResult").html(response);
                }
            });
    });

答案 1 :(得分:0)

这取决于页面实际拥有的内容。首先看一下the jQuery docs for Load() - 它有完整的处理程序,我建议你使用它。在你的代码工作的那一刻,禁止使用“one”而不是“on”的最后一个片段。

我会利用完成&amp;错误处理程序,因此如果服务器端存在问题,并且您收到错误代码,则可以处理此问题。您还可以使用Load()加载页面的片段 - 假设您在家中有两个div,一个叫我的帐户,另一个叫做概述,如果有人点击了一个新的菜单项'overview',你可以加载主页并告诉Load ()仅采用概述div。