$ .ajax要求php读取文件并返回

时间:2015-10-01 08:09:51

标签: php jquery ajax

我想用AJAX让PHP读取文件并返回数据。问题是,PHP可以读取文件,但AJAX无法获取数据。

$.ajax({
    type: 'GET',
    timeout : 1000,
    url : '../tools/test2.php', //read file and echo
    dataType : 'json',
    cache : false,
    beforeSend: function() {
        $("#demo2").val('loading..')
    },
    success : function(data) {
        $("#demo2").val('message:' + data) //this never can run
    }
});
//test2.php 
<?php
    header("Content-type:text/html");

    $fileName = "./testFile.txt";
    $file = fopen($fileName, "r");
    echo fgets($file); 
    fclose($file);
?> 

1 个答案:

答案 0 :(得分:0)

你说:

dataType : 'json',

然后你说:

header("Content-type:text/html");

因此,jQuery尝试将您的HTML解析为JSON,失败并运行error处理程序(它没有做什么,因为你没有写一个)而不是success处理程序。

修复你的dataType(你可以删除它以便jQuery尊重Content-Type标题)或重写PHP以便它返回JSON而不是HTML。

(如果您实际上正在返回纯文本(因为您有.txt文件),请说Content-Type: text/plain)。