简体   繁体   English

Ajax和PHP响应不起作用

[英]Ajax and php Response doesn't work

I really like the help here and normally i figured out any Problem so far just by reading the existing Posts. 我真的很喜欢这里的帮助,通常我只要阅读现有的帖子,便能找出到目前为止存在的任何问题。 However this time i can't quiet figure out whats wrong in my code. 但是这一次我无法安静地找出代码中的错误。

I want to write dataildata values of a specific Tablerow in a form. 我想以表格形式编写特定Tablerow的dataildata值。 The Data is stored in an mysql database and I access it with php. 数据存储在mysql数据库中,我用php访问它。

The Probleme is that it seems that the Ajax request isn't working. 问题是,似乎Ajax请求无法正常工作。 neighter the success nor the error Event get triggered. 提高成功率或错误事件将被触发。 Although the alter(id) works just fine. 尽管alter(id)可以正常工作。

Here is the Ajax call of the function: 这是该函数的Ajax调用:

$( "#table1 tbody tr" ).on( "click", function() {
   var id = $(this).attr('id');
   alert( id );
   $.ajax({
    type:       'POST',
    url:        'getDetailData.php',
    dataType:   'json',
    data:       {id : id },
    success:    function(data){
        $("#inputWstId").val(data.WST-ID);
        $("#inputSerialNumber").val(data.SERNO);    
        $("#inputName").val(data.NAME);
        alert(data.NAME);
        alert ("Test");
    },
    error:      function (xhr, ajaxOptions, thrownError) {
        alert(xhr.status);
        alert(thrownError);
    }
  });
});

and here is the .php File: 这是.php文件:

<?php
   header('Content-Type: application/json');
   $connect = include 'connect.php'; 
   if (isset ($_POST['id'])){
       $id= $_POST['id']; 
   }
   $query = "  select * FROM pci WHERE id= ". $id ;
   $result = mysql_query($query);       
   $ligne  = mysql_fetch_array($result);
   $data = array(
      "WST-ID"    => $ligne["WST_ID"],
      "SERNO"     => $ligne["SERNO"],
      "NAME"    => $ligne["NAME"]
   );
  mysql_close($connect);
  echo (json_encode($data));
?>

If you Need more sourcecode or anything else just let me know- Thank you so much for your help!! 如果您需要更多源代码或其他任何内容,请告诉我-非常感谢您的帮助!

WST_ID instead of WST-ID really worked - thank you so much !! WST_ID代替WST-ID确实有效-非常感谢! Why is it, that I can't use a "-" in my values ... guess there is a lot more to learn ;) 为什么呢,我不能在值中使用“-”……想想还有很多要学习的;)

 In the PHP part you need add two more headers :

     header("Access-Control-Allow-Origin: *");
     header('Access-Control-Allow-Methods: GET, POST'); 

 Add the two line of coding with the:

       header('Content-Type: application/json');

 change the: 

       echo (json_encode($data));

 to:

       print $my_json = json_encode($data);

 or:

       print_r ($my_json);



 Hope it will work.

I think you need to give absolute url. 我认为您需要提供绝对网址。 Only getDetailData.php will not work. 只有getDetailData.php无法使用。 Try http://xyzabc.com/getDetailData.php 试试http://xyzabc.com/getDetailData.php

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM