Php 通过AJAX发送时数据丢失

Php 通过AJAX发送时数据丢失,php,jquery,json,ajax,Php,Jquery,Json,Ajax,我想向从AJAX请求调用的PHP脚本发送两个值。不知何故,我的数据没有被传递到PHP脚本 也许我在什么地方做错了什么。我能了解一些情况吗? 还有我的PHP,AJAX请求的去向 $id = $_POST['id']; $viewed_comments = $_POST['comm']; $level_code = $_SESSION['level_code']; $action = 'view'; $viewed_date = date("Y-m-d

我想向从AJAX请求调用的PHP脚本发送两个值。不知何故,我的数据没有被传递到PHP脚本

也许我在什么地方做错了什么。我能了解一些情况吗?

还有我的PHP,AJAX请求的去向

    $id     =   $_POST['id'];
  $viewed_comments = $_POST['comm'];
  $level_code  = $_SESSION['level_code'];
  $action   =   'view';
  $viewed_date = date("Y-m-d");    
  $viewed_by        =    $_SESSION['session_admin_id'] ;

  if($action    == 'view')
  { 
   $viewed_date = date('Y-m-d h:i:s');  

   $nots = $db->idToField("tbl_table","notes",$id);
   if ($nots == "")
   {
   $date_string = "last viewed on|".$viewed_date."|" ;
   }
   else {
   $date_string = $nots."last viewed on|".$viewed_date."|" ;
   }
      $fnc->update_is_viewed_for("tbl_table",$id, "$viewed_date", $viewed_by);        
    $notes_data = array("notes"=>$date_string,"viewed_comments"=>$viewed_comments);
    $db->query_update("tbl_table", $notes_data, "id=$id");
     }
    if($db->query_update("tbl_table", $notes_data, "id=$id")){
      http_response_code();        
      echo json_encode('updation success');
    }else{
       http_response_code(204);       
    } 

这不是名字吗?您发送两个POST变量:

data: {
          info: info,
          comments: comments
        },
但您使用不同的名称检索它们:

    $id     =   $_POST['id'];
  $viewed_comments = $_POST['comm'];

如果你
var\u dump($\u POST),你会得到什么

使用序列化表单值它将解决数据丢失问题,将
#frm
更改为表单id

 $(document).ready(function(){
    $('#frm').submit(function(event){
    event.preventDefault();
    var formValues = $(this).serialize();
        $.ajax({
        url:"update_entry.php",
        method:"POST",
        data:formValues,
        dataType:"JSON",
            success:function(data){
               if (data == 'updation success') {
                console.log('success');
               }
            }
        });
    });
});

你能发布PHP代码吗?你是如何确认数据没有被发送的?在浏览器的调试工具中检查HTTP请求时,数据是否不存在?有什么?JS在隔离状态下似乎很好。您是如何调试的,以确定JS或PHP中是否缺少这些值的?@SimoneRossaini刚刚更新,请看一看look@David我不知道该如何检测。你能帮我做吗在哪里做这个
var\u dump($\u POST)。我在PHP脚本上做了,但它没有显示任何东西它确实需要在PHP中,但是您必须在JS中显示它的返回,因此您可能需要从脚本中强制执行“成功”响应。不知道你是怎么做到的。@Andy:“什么也看不出来”-你在找什么?如果它位于AJAX调用调用的PHP脚本中,那么它将位于对该调用的响应中,您的代码当前忽略了哪些内容,但您可以在浏览器的调试工具中观察到这些内容。或者您可以将PHP更改为使用
info
comments
,而不是
id
comm
并查看它是否开始工作?@droopsnoot我更改了它。但仍然没有进入成功的功能
 $(document).ready(function(){
    $('#frm').submit(function(event){
    event.preventDefault();
    var formValues = $(this).serialize();
        $.ajax({
        url:"update_entry.php",
        method:"POST",
        data:formValues,
        dataType:"JSON",
            success:function(data){
               if (data == 'updation success') {
                console.log('success');
               }
            }
        });
    });
});