在ajax成功后我调用showProducts()

时间:2017-03-12 18:38:11

标签: php jquery ajax

我一直在关注位于https://www.codeofaninja.com/2015/06/php-crud-with-ajax-and-oop.html的CRUD教程。 我可以创建更新和删除,但是当ajax成功触发时,我收到一个错误:

  

showProducts()未定义

因此产品列表不会刷新。我不明白如果没有某种类型的引用就可以找到showProducts()。我知道showProducts()有效,因为它是在$(document).ready(function()

上调用的
{
 // show list of product on first load
    showProducts(); 
}); 
 works fine.

    // send delete request to api / remote server
    $.ajax({
        url: "http://localhost/api/product/delete.php",
        type : "POST",
        dataType : 'json',
        data : JSON.stringify({ id: product_id }),
        success : function(result) {

            // re-load list of products
            showProducts();
        },
        error: function(xhr, resp, text) {
            console.log(xhr, resp, text);
        }
    });

}

2 个答案:

答案 0 :(得分:0)

您缺少来自6.3的代码:

// function to show list of products
function showProducts(){

}

但是,稍后(在11.4中)他们将其改为:

// function to show list of products
function showProducts(){

    // get list of products from the API
    $.getJSON("http://localhost/api/product/read.php", function(data){

        // html for listing products
        readProductsTemplate(data, "");

        // chage page title
        changePageTitle("Read Products");

    });
}

答案 1 :(得分:0)

因为您的showProducts()函数未定义

只需在你的($ ajax调用)之前创建一个并在其中添加一些数据,例如:

// function to show list of products
function showProducts(){
   // you can change those contents and add whatever you like. 
   $(document).ready(function() {  
       $("#emptydiv").html("<body> Add your prodects here </body>");
    });

 }

您希望将数据放入的html div:

<div id="emptydiv"> </div>
  

我们在此处添加的内容( showProducts 功能)仅为示例。你可以添加你想要的东西(依赖,如果你想完全按照教程或你想添加你的欧文风格和内容)。

  • 并在教程链接中提及,他们会添加这些内容:

    // function to show list of products
    function showProducts(){
    
      // get list of products from the API
      $.getJSON("http://localhost/api/product/read.php", function(data){
    
        // html for listing products
        readProductsTemplate(data, "");
    
       // chage page title
       changePageTitle("Read Products");
    
      });
    }