Ajax请求未执行(完全重载)

时间:2019-02-11 12:02:07

标签: php jquery ajax

我将PHP和jQuery一起用于创建数据库应用程序,我是jQuery和ajax的新用户,我想使用ajax对数据库进行更新而无需刷新。对于jQuery代码,我以以下视频为例: https://www.youtube.com/watch?v=Kcka5WBMktw

我通过经典形式和发布方法测试了我的php:它正在工作 我试图在jQuery中添加alert()进行调试,警报将我的期望值发回给我。

我通过网络打开控制台:与我的AJAX请求无关。

这是我的jQuery:

$('.ButtonEdit').on('click', function() {
    let id = $(this).attr('id');
    let name = $('#name'+id).val();
    alert('click');
    req = $.ajax({
        url: "menu.php?Option=updateIgr",
        type : 'POST',
        data : { name : name, code : code }
    });
});

在这里,我要使用Ajax启动的PHP:

 case "updateIgr":
     require("Class/Ingredient.php");
     require("Class/IngredientsManager.php");
     $data = array ('code' => $_POST['code'],'name' => $_POST['name']);
     $updaterIngredient = new IngredientsManager;
     $updatedIngredient = $updaterIngredient->update(new Ingredient($data));
     break;

我期望它可以实时更新我的​​页面而无需刷新,并且实际结果是:什么也没有,实际上什么也没有发生。安装或设置是否特别?我转圈研究,谢谢您的帮助

3 个答案:

答案 0 :(得分:1)

您应该具有Ajax请求的成功和失败处理程序。

$('.ButtonEdit').on('click', function() {
  let id = $(this).attr('id');
  let name = $('#name'+id).val();

  req = $.ajax({
    url: "menu.php?Option=updateIgr",
    type : 'POST',
    data : { name : name, code : code }
  });

  // Callback handler that will be called on success
  req.done(function (response, status, jqXHR){
    // Log a message to the console
    console.log("It worked!");
  });

  // Callback handler that will be called on failure
  req.fail(function (jqXHR, status, err){
    // Log the error to the console
    console.error("An error occurred: " + status, err);
  });

});

您将需要更新处理程序以适合您的需求。

答案 1 :(得分:0)

未声明代码变量

$('.ButtonEdit').on('click', function() {
    let id = $(this).attr('id');
    let code = $(this).attr('id');// please assign your code here
    let name = $('#name'+id).val();
    alert('click');
    req = $.ajax({
        url: "menu.php?Option=updateIgr",
        type : 'POST',
        data : { name : name, code : code }
    });
});

答案 2 :(得分:0)

我建议检查此代码。

$('。ButtonEdit')。click(function(){var id = $(this).attr('id'); var name = $('#name'+ id).val(); $ ajax({url:“ menu.php?Option = updateIgr”,键入:“ POST”,数据:{name:name,id:id}};});