簡體   English   中英

Ajax呼叫未返回

[英]Ajax call not being returned

問題是PHP文件沒有將數據發送回去,或者JS文件沒有捕獲數據。

確切的問題是數據沒有顯示在<div>內的index.php頁面上。 我在getDetails.php文件中包含了代碼,以記錄它在做什么。 它使我看到查詢正在運行並且正在返回數據。

過去,我使用過與此類似的代碼,沒有任何問題。 唯一的區別是以前的代碼在MySQL上運行。 這段代碼正在處理Access數據庫。 我不知道我是否需要對json_encode做一些特殊的事情來處理Access數據。

我在java.js的開頭使用了alert()來確保正在調用Java代碼。 它是。 details = result命令之后的警報永遠不會被調用。

index.php文件:

<!doctype html>
<html>
    <head>
        <meta http-equiv="content-type" content="text/plain; charset=UTF-8"/>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
        <script src="java.js" type="text/javascript"></script>
    </head>
    <body>
        <div id="reportDetails" class="reportDetails" align=center></div>
    </body>
<html>

JAVA.JS:

jQuery(document).ready(function () {
    var ra='7100913063';
    $.ajax({
        type: 'POST',
        url: 'getDetails.php',
        data: 'value=' + ra,
        dataType: 'json',
        cache: false,
        success: function(result) {
            details = result;
            $("#reportDetails").text("");
            for (var i = 0; i < details.length; i++) {
                $("#reportDetails").append("<tr class='bottom'><td width=200 align=center class='bottom'>" + details[i][0] + "</td><td width=200 align=center class='bottom'>" + details[i][1] + "</td><td width=200 align=center  class='bottom'> " + details[i][2] +"</td></td><td width=200 align=center  class='bottom'> " + details[i][3] +"</td></td></tr>");
            }
            $("#reportDetails").append("</table>");
        },
    });
});

getDetails.php

<?php
include("../../scripts/adodb/adodb.inc.php");

$myFile = "testFile.txt";
$fh = fopen($myFile, 'w') or die("can't open file");

$ra = $_POST['value'];
set_time_limit(0);
date_default_timezone_set('America/Chicago');                                       
$counter = 0;

$connect = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=//server/directory/database.mdb", '', '');
$query = "SELECT distinct ra, MIN(received) as startDate, MAX(completion) AS stopDate, MAX(status) as stat FROM cont WHERE ra = '" . $ra . "' GROUP BY ra";
$result = odbc_exec($connect,$query);

while(odbc_fetch_row($result)){
    $radetails[0] = odbc_result($result,"ra");
    fwrite($fh, $radetails[0]);
    $radetails[1] = odbc_result($result,"startDate");
    fwrite($fh, $radetails[1]);
    $radetails[2] = odbc_result($result,"stopDate");
    fwrite($fh, $radetails[2]);
    $radetails[3] = odbc_result($result,"stat");
    fwrite($fh, $radetails[3]);
}
fclose($fh);
echo json_encode($radetails);
?>

我的getDetails.php中有"echo <br/>"行。 刪除了該行,現在可以使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM