Javascript 我想将数据发送到php文件进行处理,并使用ajax接收响应,而无需页面刷新

Javascript 我想将数据发送到php文件进行处理,并使用ajax接收响应,而无需页面刷新,javascript,php,json,ajax,xml,Javascript,Php,Json,Ajax,Xml,我想从xml文件中读取和打印标签属性名称,并使用ajax在屏幕上打印出来。我在文件_controller.php文件中编写的代码可以很好地打印属性名称,但ajax不会获取保存在数据数组中的打印出的数据。请各位朋友,我需要帮助解决此问题。数据库文件,xml文件都很好。这只是ajax调用的问题。提前谢谢 下面是接收数据的index.php代码 <?php require('connect.php'); ?> <html> <head> <t

我想从xml文件中读取和打印标签属性名称,并使用ajax在屏幕上打印出来。我在文件_controller.php文件中编写的代码可以很好地打印属性名称,但ajax不会获取保存在数据数组中的打印出的数据。请各位朋友,我需要帮助解决此问题。数据库文件,xml文件都很好。这只是ajax调用的问题。提前谢谢

下面是接收数据的index.php代码

<?php 
require('connect.php'); 
?>



<html>
<head>
    <title>Bellcom Test</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

</head>
<body>
    <div class="container">
        <div class="row">
            <div class="col-md-9" style="margin:0 auto; float:none;">
                <span id="message"></span>

                    <div class="form-group">
                        <label>Upload files</label>
                        <input type="file" name="file" id="file">
                    </div>
                    <br>
                    <div class ="form-group">
                        <label>Search for a File Number</label>
                        <input type="text" id="file_name" name="file_name">
                    </div>
                    <br>
                    <div class="form-group">
                        <button type="button" name="submit" id="submit" class="btn btn-info" >Fetch</button>
                    </div>

                <div class="table-responsive" id="display" style="display:none">
                    <table class="table table-bordered">
                        <tr>
                            <td width="10%" align="right"><b>Attribute Name</b></td>
                            <td width="90%"><span id="name"></span></td>
                        </tr>

                         <tr>
                            <td width="10%" align="right"><b>System ID</b></td>
                            <td width="90%"><span id="sysid"></span></td>
                         </tr>
                         <tr>
                            <td width="10%" align="right"><b>Date</b></td>
                            <td width="90%"><span id="date"></span></td>
                         </tr>
                    </table>
                </div>
            </div>

        </div>
    </div>
</body>
</html>

<script>
    $(document).ready(function(){ 
        $('#submit').click(function(){
            var id= $('#file_name').val();
                  if(id != '')
                  {
                    $.ajax({ 
                        url:"file_controller.php",
                        type: "POST",
                        data:{id:id},
                        dataType:"JSON",
                        success:function(data)
                            {
                                 $('#meeting_details').css("display", "block");
                                 $('#name').text(data.name);
                                 $('#sysid').text(data.sysid);
                                 $('#date').text(data.date);
                            },
                        error: function (data) {
                          alert("data is not received");
                        }
                    })
                  }else{
                    alert("Please Select a file");
                    $('#meeting_details').css("display", "none");
                  }
        });
    });
</script>

贝尔康试验
上传文件

搜索文件号
取来 属性名 系统ID 日期 $(文档).ready(函数(){ $(“#提交”)。单击(函数(){ var id=$('#文件名').val(); 如果(id!='') { $.ajax({ url:“file_controller.php”, 类型:“POST”, 数据:{id:id}, 数据类型:“JSON”, 成功:功能(数据) { $(“#会议详细信息”).css(“显示”、“块”); $('#name').text(data.name); $('#sysid').text(data.sysid); $('#date').text(data.date); }, 错误:函数(数据){ 警报(“未收到数据”); } }) }否则{ 警报(“请选择一个文件”); $(“#会议详细信息”).css(“显示”、“无”); } }); });
这是我用来处理数据的php文件

<?php 

require('connect.php'); 

    $f_name = "";


    if (isset($_POST['id'])) {
        $f_name = strip_tags($_POST['id']);//remvove html tags
        $f_name = str_replace(' ', '', $f_name);//remove spaces
        $f_name = strtolower($f_name);//lower case
        $arr = array('XML_','.xml');
        $f_name = implode("$f_name",$arr);

        $database_file = mysqli_query($conn,"SELECT * FROM xml_files WHERE file_name='$f_name'");
        $row = mysqli_fetch_array($database_file);
        $database_file_name=$row['file_name'];



        if (file_exists("files/$database_file_name")) {
            $xml=simplexml_load_file("$database_file_name") or die("Error: Cannot create object");


            foreach ($xml->children() as $node) {
                foreach ($node->children() as $nodechild) {
                    foreach ($nodechild->children() as $nodegrandchild){
                        $arr = $nodegrandchild->attributes();   // returns an array

                        if (!empty($arr["name"])) {
                            $data['name'] = $arr["name"];   //save the attribute name in an array format 
                            print ("name=".$arr["name"]);     // get the value of this attribute
                            print ("<br>");
                            print ("<p><hr>");
                        }
                        if (!empty($arr["sysid"])) {
                            $data['sysid'] = $arr["sysid"];
                            print ("sysid=".$arr["sysid"]);
                            print ("<br>");
                            print ("<p><hr>");
                        }
                         if (!empty($arr["date"])) {
                            $data['date'] = $arr["date"];
                            print ("date=".$arr["date"]);
                            print ("<br>");                 
                            print ("<p><hr>");
                        }
                    }
                }
            }
        }
    echo json_encode($data);
    }       
 ?>
children()作为$node){
foreach($node->children()作为$nodechild){
foreach($nodechild->children()作为$nodegrandchild){
$arr=$nodegrandchild->attributes();//返回一个数组
如果(!empty($arr[“name”])){
$data['name']=$arr[“name”];//以数组格式保存属性名称
打印(“name=”.$arr[“name”]);//获取此属性的值
打印(
); 打印(“
”); } 如果(!empty($arr[“sysid”])){ $data['sysid']=$arr[“sysid”]; 打印(“sysid=”.$arr[“sysid”]); 打印(
); 打印(“
”); } 如果(!空($arr[“日期”])){ $data['date']=$arr[“date”]; 打印(“日期=.$arr[“日期”]); 打印(
); 打印(“
”); } } } } } echo json_编码($data); } ?>
尝试添加
事件.preventDefault()


在ajax调用中,您的
数据
包含哪些内容?它假设是使用attribute()php函数提取属性名称后的数据。我不知道您是否理解我??打印并查看您的ajax成功函数下是否包含所需数据,即:
警报(数据)
$('#submit').click(function(event){
     event.preventDefault()