Javascript Ajax调用PHP函数
我想从js调用一个php文件。我没有使用ajax的经验,所以我真的不知道如何正确地使用它。我使用此功能:Javascript Ajax调用PHP函数,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我想从js调用一个php文件。我没有使用ajax的经验,所以我真的不知道如何正确地使用它。我使用此功能: function start(cod){ var result =0; $.ajax({ type: "POST", url: "CheckDetails.php", datatype: "html", async: false, data: {cod: cod}, success
function start(cod){
var result =0;
$.ajax({
type: "POST",
url: "CheckDetails.php",
datatype: "html",
async: false,
data: {cod: cod},
success: function(data) {
result = data;
}
});
return result;
}
以及PHP文件:
<?php
check($_POST['cod']);
function check($cod)
{
mysqli_report(MYSQLI_REPORT_STRICT);
$dbhandle = 0;
try {
$username = 'root';
$password = '';
$hostname = 'localhost';
$dbhandle = new mysqli($hostname, $username, $password, 'db') ;
} catch (Exception $e ) {
echo "Service unavailable";
exit;
}
$name = '';
$date = '';
$hour = '';
$result = 0;
$codeResult = mysqli_query($dbhandle, "SELECT name, date, hour FROM records WHERE cod = '$cod'");
if (!$codeResult) {
echo('Database error: ' . mysqli_error($dbhandle));
} else
if ($row = mysqli_fetch_assoc($codeResult)) {
$name = $row{"name"};
$date = $row{"date"};
$hour = $row{"hour"};
$result = 1;
}
echo $result;
}
?>
但它似乎不起作用。我真的不知道问题出在哪里。在数据库查询中,您似乎只读取表中的第一个结果集,而不返回结果。如果我没有弄错你的意图,你在最后一个“else”条款中会有如下内容:
...
else {
while($row = mysqli_fetch_array($codeResult)) {
$data[] = array("name" => $row["name"], "date" => $row["date"], "hour" => $row["hour"]);
}
}
...
在代码前面将$data声明为数组。通过这种方式,您可以将查询结果存储在$data数组中,可以原样返回,也可以作为json编码的对象返回。您是否在浏览器控制台中检查AJAX是否正常工作,以及是否从服务器获得响应?我不知道在开发工具中应该在何处查找。查看开发工具中的
网络选项卡。你可以在那里检查网络请求,你不需要用PHP输出任何东西。您应该打印或回显返回值。这将是ajax调用中的响应,它告诉我“CheckDetails.php”已经执行