PHP文件不返回.responseText中的文本

PHP file does not return text in .responseText

本文关键字:文本 responseText 返回 文件 PHP      更新时间:2023-10-01

所以我必须归档。一个javascript文件,它向一个假定返回JSON的PHP文件发出AJAX请求。我已经用打印语句测试了PHP文件,并且有一个明确的JSON正在制作中。但是,在javascript中,request.responseText为空。

Javascript:

var mCurrentIndex = 0;
var request = new XMLHttpRequest();
var mImages = [];
var json;
var url = "fiveMostRecent.php";
request.open("GET", url, true);
request.send();
request.onreadystatechange = function(e)
{
    if(request.readyState == 4 || request.readyState == 2){
        console.log(request.responseText);
        json = JSON.parse(request.responseText);
        console.log(json);
        for(var x = 0; x < json.length; x++){
            var gImage = new GalleryImage();
            gImage.title = json[x].title;
            gImage.price = json[x].price;
            gImage.description = json[x].description;
            gImage.img = new Image();
            gImage.img.src = json.images[x].imgPath;
            makeGalleryImageOnloadCallback(gImage);
            mImages.push(gImage);
        }
    }
    console.log(mImages);
}

PHP:

<?php
session_start();
$con = mysql_connect("localhost", "listAdmin", "hermes");
if(!$con)
{
    die('Could not connect: ' . mysql_error());
}
mysql_select_db("GregsList", $con)
    or die("Unable to select database:" . mysql_error());
$query = "SELECT title, description, price FROM Listings ORDER BY dateListed DESC LIMIT 5";
$result = mysql_query($query);
#converts to json
$rows = array();
while($r = mysql_fetch_assoc($result)) 
{
        $rows[] = $r;
}
#print json_encode($rows);
return json_encode($rows);
?>

使用echo json_encode($rows);而不是return json_encode($rows);