第1部分:jQuery - > MySQL - > jQuery - > HTML

Ste*_*ven 5 php mysql jquery

我正在开发一个严重依赖jQuery进行用户交互的应用程序.
(如果你的浏览器不支持jQuery,那么升级或不使用我的应用程序:)

正常情况下,一个人具有从表中获取,设置和删除数据的功能.

在我的应用程序中,我在没有页面重新加载的情况下获取并设置了大量信息.为此,我主要使用jQuery.post.

我的JS文件中的典型代码如下所示:

jQuery.post("mypath/jquery_getset_data.php", { instance: 'getItems_A', itemID: itemID_value},
  function(data) {
    populateItemList(data);
  }); 
Run Code Online (Sandbox Code Playgroud)

jquery_getset_data.php包含了很多的如果语句:

if($_POST['instance'] == 'getItems_A'){
  // PHP code to get and process data from MySQL DB
}

if($_POST['instance'] == 'setItems_A'){
  // PHP code to process and insert data to MySQL DB
}
Run Code Online (Sandbox Code Playgroud)

这是我的问题:

  1. 这是JS文件和jquery_getset_data.php之间交互的更好方法吗?

  2. 如何在createStoreList中动态调用不同的"删除项"功能?见更新1.

更新1: 这是我用来创建许多不同列表的代码.

  function createStoreList(data)
  {
    var ul = jQuery("<ul/>");

    // We need to build the html structure in order for this to be registered in DOM.
    // If we don't, jQuery events like .click, .change etc. will not work.      
    for (var i = 0; i < data.length; i++)  
    {
      ul.append(
         jQuery("<li/>")
         .attr("id", "listItem_"+data[i].id)
         .append(jQuery("<span/>")
            .addClass("btnRemoveItem")
            .attr("title", "Remove store from list")
            .attr("id", data[i].id)
            .click(function() { removeItemA(this); })  
          )
         .append(data[i].name + ', ' + data[i].street)
        );              
    }
    return ul;  
  }
Run Code Online (Sandbox Code Playgroud)

更新2 我想我可以使用switch语句.我测试了它,它的工作原理.

    .click(function() {
        switch(instance)
        {
          case 'removeListItemA': removeListItemA(this); break; 
          case 'removeListItemA': removeListItemB(this); break;
          case 'removeListItemA': removeListItemC(this); break;
        }
    })
Run Code Online (Sandbox Code Playgroud)

kar*_*m79 1

我唯一要改变的是jquery_getset_data.php我会使用 switch 语句而不是许多 if 语句。jQuery 的 $.post 方法非常适合您正在做的事情,使用 GET ajax 方法($.load 或 $.get)之一与影响数据库(删除/更新/等)的脚本对话会破坏 HTTP 规范。