Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ajax调用PHP函数_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript Ajax调用PHP函数

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

我想从js调用一个php文件。我没有使用ajax的经验,所以我真的不知道如何正确地使用它。我使用此功能:

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”已经执行