简体   繁体   中英

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. The Data is stored in an mysql database and I access it with php.

The Probleme is that it seems that the Ajax request isn't working. neighter the success nor the error Event get triggered. Although the alter(id) works just fine.

Here is the Ajax call of the function:

$( "#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
   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 !! 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. Try http://xyzabc.com/getDetailData.php

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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