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