将Ajax数据POST到公共PHP函数

时间:2017-04-19 09:40:50

标签: php ajax

注意 - 这是一个经过编辑的代码段。目前正在测试,并将在之后进行改进。

我的目标是学习PHP,现在我对程序有了很好的理解。我一直坚持把这个Ajax请求发送到我的php文件。

Html文件

<script>
 $("#Question").click(function() {

  flag = 1;

  uid = "<?php echo $uid ?>";

     var dataQuestion = {

     uid,
     flag,
     ImageOne: $("#Image1").val()

     };
       //Post with AJAX
       $.ajax({
           type: "POST",
           url: "../View/class.user.php",
           data: dataQuestion,
           perform: "QuestionsFunctions",
           success: function(Returned){ 
               $(".NotBoxSmall").text("Updated");
               $(".NotBox").text("Updated");
               flag = 0;
               console.log(Returned);
           },
           error: function(){ 
               $('.NotBox').text("Issue With Site");
               $('.NotBoxSmall').text("Issue With Site");
           }
     }); 
}); 

</script>

Php文件

<?php

public function QAsk(){

if($_POST['flag'] == 1){

  $Image1 = $_POST['ImageOne'];
  $uid = $_POST['uid'];

  $insertsqlQ = "UPDATE UsersData 
                 SET Image1 = '$Image1'
                 WHERE uid = $uid";

  $resultquestion = mysqli_query($this->db,$insertsqlQ) or die(mysqli_connect_errno().json_encode("Data cannot inserted"));

  return $resultquestion;

  echo json_encode("Question Updated");

  }else{ 

    echo json_encode("Question NOPE");

    return false;

  }
}

?> 

id发送并且iv不在公共功能中对此进行测试,看起来没问题。发回的请求是空白的,在函数之外它是错误日志。 问题是它说问题已经更新,但没有数据添加到数据库中。

1 个答案:

答案 0 :(得分:0)

jQuery必须在DOM(文档对象模型)之后初始化。 How should I initialize jQuery?

我建议一些提示: 1 - 使id名称小写#name_of_element 2 - 获取OO PHP书并尝试练习,例如使用curl运行测试并在进入客户端之前使数据库规则工作(html,js,css) 3 - 获取一本jQuery书并使用模拟数据运行测试,只需从PHP打印一个数组。一开始是更容易学习的东西分开。 4 - &#39; $ Image1&#39;是varchar而不是变量$ Image1。删除引号