用AJAX获取文件,can';我不懂PHP
我已经检查了发布前提出的建议,希望我现在没有错过任何东西 我有一段代码,我用它来为我的网站获取txt文件,但现在我需要重做代码,这样它就可以同时获取txt和php文件,但它不会读取php脚本。我现在有点害怕把代码弄乱,所以我走在安全的一边,在这里问是否有人知道代码的一个好的补充。这是相当尴尬的,我仍然有代码的IE 5和6中,所以如果你想删除,在同一时间,继续。我保证,我不会因此恨你的 更新:用AJAX获取文件,can';我不懂PHP,php,ajax,url,fetch,text-files,Php,Ajax,Url,Fetch,Text Files,我已经检查了发布前提出的建议,希望我现在没有错过任何东西 我有一段代码,我用它来为我的网站获取txt文件,但现在我需要重做代码,这样它就可以同时获取txt和php文件,但它不会读取php脚本。我现在有点害怕把代码弄乱,所以我走在安全的一边,在这里问是否有人知道代码的一个好的补充。这是相当尴尬的,我仍然有代码的IE 5和6中,所以如果你想删除,在同一时间,继续。我保证,我不会因此恨你的 更新: 我有四个文件: html-使用ajax脚本调用.js文件。 js-带有我所有的javascript(和s
我有四个文件:
html-使用ajax脚本调用.js文件。
js-带有我所有的javascript(和simular)代码。
php-包含。。。好吧,你明白了。
我必须以某种方式调用php代码,就像调用我的txt文件一样,但当然,php可以正常工作。我对AJAX非常陌生,所以我现在不敢乱写这段代码,但我想我可能能够添加某种if语句,按预期调用php文件。
但我不知道那个代码可能是什么,也不知道应该把它放在哪里,这样事情才能相应地工作。当然,任何帮助都会在代码中得到认可和认可 下面是包含在.js文件中的AJAX代码:
/*Load the link.*/
function loadXMLDoc(url)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("leftCol").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET",url,true);
xmlhttp.send();
}
/*Highly unnecessary, but I wanted to see if it worked and it looks better on the .html-page.*/
function get_link(url)
{
loadXMLDoc(url);
}
它只是不读取php脚本
这是一个相当模糊的陈述,但这里有几个可以作为解决方案的指针:
PHP文件在服务器上解释,因此当您对该页面进行Ajax调用时,客户端收到的是该PHP脚本的结果,而不是其内容
您直接在HTML中分配查询结果,如果结果包含不呈现任何内容的数据,您将看不到任何内容。例如,此处的内容文本bla bla
将不显示任何内容
如果要确保从文件中获取一些数据,只需在收到内容时发出警报即可
确保PHP页面的路径正确。要检测文件是否未给出404错误代码或任何其他错误代码,可以使用以下方法:
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200) {
document.getElementById("leftCol").innerHTML = xmlhttp.responseText;
} else {
alert("Error " + xmlhttp.status);
}
}
}
它只是不读取php脚本
这是一个相当模糊的陈述,但这里有几个可以作为解决方案的指针:
PHP文件在服务器上解释,因此当您对该页面进行Ajax调用时,客户端收到的是该PHP脚本的结果,而不是其内容
您直接在HTML中分配查询结果,如果结果包含不呈现任何内容的数据,您将看不到任何内容。例如,此处的内容文本bla bla
将不显示任何内容
如果要确保从文件中获取一些数据,只需在收到内容时发出警报即可
确保PHP页面的路径正确。要检测文件是否未给出404错误代码或任何其他错误代码,可以使用以下方法:
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200) {
document.getElementById("leftCol").innerHTML = xmlhttp.responseText;
} else {
alert("Error " + xmlhttp.status);
}
}
}
正如上面的评论者所说,最好使用第三方工具来完成这些事情——如果没有其他原因,那就是为了大大提高跨浏览器的兼容性 如果要使用,代码将缩减为
function get_link(url)
{
$.ajax({url: url, success: success:function(result){
//the code / resulting string will be in the result variable.
}});
}
jQuery CDN托管:
让我问一下。。。如果您将代码更改为
function get_link(url)
{
window.location=url;
}
您的web浏览器是否成功导航到您试图通过AJAX检索的页面?如果没有,您的PHP语法可能有问题。正如上面的评论员所说,最好使用第三方工具来完成这些事情——如果没有其他原因,只是为了大大提高跨浏览器的兼容性 如果要使用,代码将缩减为
function get_link(url)
{
$.ajax({url: url, success: success:function(result){
//the code / resulting string will be in the result variable.
}});
}
jQuery CDN托管:
让我问一下。。。如果您将代码更改为
function get_link(url)
{
window.location=url;
}
您的web浏览器是否成功导航到您试图通过AJAX检索的页面?如果没有,您的PHP语法可能有问题。是否考虑过使用Jquery或mootools之类的库?当然,这样做会使日常任务变得更加简单。有没有想过使用Jquery或mootools之类的库?当然,这样做会让日常工作变得容易很多。不知道这是否会让事情变得不那么模糊,但我更新了帖子。嗯。。。我想我明白这是怎么回事。只要在.php文件中有脚本,就无法从中收集任何内容。当我这样做的时候,我会看到发生了什么。看看它是否能让我上路。:)我不知道这是否会让它变得更模糊,但我更新了帖子。嗯。。。我想我明白这是怎么回事。只要在.php文件中有脚本,就无法从中收集任何内容。当我这样做的时候,我会看到发生了什么。看看它是否能让我上路。:)我非常怀疑这能解决OP问题。使用第三方工具有助于简化Ajax代码,但它并不能神奇地解决所有与Ajax调用相关的问题。使用jQuery并不是所有问题的答案。我同意,而且我从未说过它会。我说我建议它是出于各种原因,包括兼容性。它现在不读取任何php代码,即使是一个简单的echo“;。我将尝试使用jquery,看看是否可以让它以其他方式工作。我需要在页面上的一个div中打开它,就像网站上的所有其他链接一样,所以我真的不知道如何处理你的上一个代码。我非常怀疑这会解决OP问题。使用第三方工具有助于简化Ajax代码,但它并不能神奇地解决所有与Ajax调用相关的问题。使用jQuery并不是所有问题的答案。我同意,而且我从未说过它会。我说我建议它是出于各种原因,包括兼容性。它现在不读取任何php代码,即使是一个简单的echo“;。我将尝试使用jquery,看看是否可以让它以其他方式工作。我需要在页面上的一个div中打开它,就像该站点上的所有其他链接一样,所以我真的不知道如何处理您的上一个代码。