我正在尝试运行一个简单的场景,其中:提交表单-> jquery ajax请求JSON数据-> PHP脚本从数据库中读取并编码为JSON->数据显示在我的页面上。
MySQL上的字段为:Name
和Password
第1步-我的表单- Search.php
<html lang="">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="Query.js"></script>
<title></title>
</head>
<body>
<form method="post" id="formoid" action="">
<input type="text" name="enterpass" placeholder="Enter Password">
<input type="submit" name="subbpass">
</form>
<input type="text" id="showname"><br/>
<input type="text" id="showpassword">
第2步-我的jquery文件- Query.js
$(document).ready(function(){
$("#formoid").submit(function(){
alert("form submitted") // this alert goes through
var passid = $("#enterpass").val();
$.ajax({
url: "ModelQuery.php",
method: "POST",
dataType: "JSON",
data: {args: passid},
success: function(data)
{
console.log('ajax successfully sent'); // this alert isn't working
$("#showname").text(data.Name); // data isn't showing here
$("#showpassword").text(data.Password);
console.log(data); // or here ...
}
});
});
});
最后,我的php-ModelQuery.php-我省略了一些代码行,但是该脚本是从数据库读取的普通脚本,过去对我有用。 >
<?php
if(isset($_POST['args'])) {
$arg = $_POST['args']
$CON = mysqli_connect('127.0.0.1','root','','testdb');
// ....
$QUERY = "SELECT * FROM testtable where Password = '$arg'";
// ...
while($row = mysqli_fetch_array($RESULT))
{
$jsonresults["Name"] = $row['Name'];
$jsonresults["Password"] = $row['Password'];
}
echo json_encode($jsonresults);
}
提交表单后,Jquery脚本中的警报确实发生了,但是ajax本身未显示任何内容,无论是在控制台还是在我的两个文本框中。
我在这里做什么错了?
非常感谢您!
答案 0 :(得分:0)
我弄清楚了这个问题,其中包含3个不同的问题:
1)我的输入文本框<input type="text" name="enterpass" placeholder="Enter Password">
没有ID属性,只有名称
2)按照@RamRaider的建议,我将其更改为button并为其指定了ID。
3)php中的其中一行没有结尾的;
。
谢谢!