Ajax和php Response不起作用

时间:2014-01-07 09:32:28

标签: php jquery mysql ajax json

我非常喜欢这里的帮助,通常我只是通过阅读现有的帖子找出任何问题。但是这次我无法安静地弄清楚我的代码中有什么不对。

我想在表单中编写特定Tablerow的dataildata值。数据存储在mysql数据库中,我用php访问它。

问题是似乎Ajax请求无法正常工作。更好的成功也不会错误事件被触发。虽然alter(id)工作得很好。

这是函数的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);
    }
  });
});

这是.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));
?>

如果您需要更多源代码或其他任何内容,请告诉我们 - 非常感谢您的帮助!!

WST_ID代替WST-ID真的有用 - 非常感谢!! 为什么,我不能在我的价值观中使用“ - ”...猜猜还有很多东西需要学习;)

2 个答案:

答案 0 :(得分:0)

 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.

答案 1 :(得分:-1)

我认为你需要给出绝对的网址。只有getDetailData.php不起作用。试试http://xyzabc.com/getDetailData.php