我正在对.php页面进行ajax调用,我正在对数据库进行查询。但是,当我从.php页面回显一个值时,将返回整个html文件,而不仅仅是我需要的数值。
这是我的ajax脚本:
<script type="text/javascript">
$(document).ready(function()
{
$("#valuebutton").click(function()
{
var id1=$('.player1').val();
$.ajax
({
type: "POST",
url: "updatevaluebox.php",
data: ({g1: id1}),
cache: false,
success: function(value)
{
//alert(value);
$('#valuebox').val(value);
}
});
});
});
</script>
这是php页面updatevaluebox.php:
<?php
require("connect_db.php");
$q="SELECT price FROM playerlist where id=".$_POST['g1'];
$r=mysqli_query($dbc,$q);
$price=mysqli_fetch_array($r,MYSQLI_NUM);
mysqli_close($dbc);
echo $price[0];
?>
两个文件都在同一目录中。
我已经在stackoverflow上检查了这个问题的其他答案,但似乎都没有。
我从alert语句得到的输出如下:
<html>
<head><title>
</title></head>
<body>
</body>
</html>5.5
最后的5.5是我唯一需要的值!
我已将ajax dataType设置为文本,但即使这样也无济于事。
答案 0 :(得分:1)
是的!您需要删除connect_db.php文件中的任何HTML。我建议在该文件中存储一个变量,检查连接是否成功。例如:
<强> connect_db.php 强>
$isConnected = false;
$dbError = "";
if ($dbc=mysqli_connect('localhost','*****','*****','ff') {
$isConnected = true;
} else {
$dbError = mysqli_connect_error();
}
其他文件
require("connect_db.php");
if($isConnected) {
//DO ALL YO STUFF!!
} else {
//HANDLE THE ERROR AS YOU LIKE, LIKE PRINTING IT OUT
echo $dbError;
}
执行此操作将允许您处理文件中的数据库逻辑,如果它无法连接,那么您可以正常处理失败的连接。