我想用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);
?>
答案 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
)。