我使用此方法显示PHP生成的文本:
$.ajax({
url: "test.php?hello",
success: function(data) {
myDiv.textContent = data;
}
});
test.php的:
<?php
if ($_SERVER["QUERY_STRING"] == "hello")
echo "Hello world!";
else
echo "meh";
?>
输出&#34; meh&#34;。我该如何解决这个问题?
更新:使用其他方法获取文件内容解决了这个问题。
var req = new XMLHttpRequest();
req.open("GET", "test.php?hello");
req.onreadystatechange = function() {
myDiv.textContent = req.responseText;
}
req.send();
答案 0 :(得分:0)
有些观点:
如果您的服务器是基于unix的,那就是大小写,所以除非您在Windows上运行,否则它应该是url: "Test.php"
。
你还没有指定使用哪种HTTP方法,我想它已经得到了,所以我添加了它。
不需要标题。
你最好还是返回一个JSON对象并解码它,而不仅仅是一个字符串。
添加错误处理程序以及成功处理程序,因此来自服务器的状态代码不是2xx(例如404未找到)的任何数据都将到达该回调,并且不会保持未处理状态。
如果您正在使用其中一个常见的浏览器,您还应该看到控制台中记录的状态代码出错。
test.php的:
<?php
echo json_encode(array("message" => "your text"));
?>
$.ajax({
url: "Test.php",
method: "GET",
success: function(data) {
data = $.parseJSON(data);
myDiv.textContent = data.message;
},
error: function(xhr, data){
console.warn("XHR failed");
console.log(xhr);
}
});
如果有任何帮助,请告诉我。
答案 1 :(得分:0)
试
<?php
if ($_SERVER["QUERY_STRING"] == "hello")
echo "Hello world!";
else
echo $_SERVER["QUERY_STRING"];
?>
调试你的php脚本并查看发送给这个var的值。
答案 2 :(得分:-1)
尝试这样的事情:
$.ajax({
url: "test.php",
cache: false
})
.done(function(data) {
$myDiv.textContent(data);
});
另外,从php文件中删除标题。不需要。