如何从许多网页使用AJAX调用PHP文件?

时间:2013-12-19 09:57:45

标签: javascript ajax jquery

我为自己制作了一个个人框架。我在我的网站include的每个网页中都在每个网页中添加了一个ajax脚本。

我把这个脚本放在我的add.php文件中:

    function demo(str) 
    {
        if (str.length==0){  return; }
        if (window.XMLHttpRequest) { 
            xmlhttp=new XMLHttpRequest(); 
        } 
        else { 
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
        }
        xmlhttp.open("GET","bin.php?tid="+str,true);
        xmlhttp.send();
    } 

    demo('astring');

问题是,这个名为ajax的PHP文件(bin.php)位于我的文件夹root/a/bin.php

虽然我的网页位于许多文件夹和子文件夹中,例如root/aroot/broot/a/a1root/b/b1/b2这么多..

我不能单独在everpage上添加这个ajax调用脚本。这就是我在每个网页上都包含一个PHP文件的原因,所以后来我只需要更改这个PHP文件,在每个网页上进行更改。

这个ajax只适用于某些网页(由于AJAX-Called文件的路径问题),请你建议我这个ajax脚本的解决方案,以便它可以在每个网页上运行?

2 个答案:

答案 0 :(得分:0)

您可以使用此代码生成绝对路径

var url = location.protocol + '//' + document.domain + '/your_path/' + "bin.php?tid="+str;
xmlhttp.open("GET",url,true);

答案 1 :(得分:0)

使用相对站点路径:

function demo(str) 
{
    if (str.length==0){  return; }
    if (window.XMLHttpRequest) { 
    xmlhttp=new XMLHttpRequest(); 
    } 
    else { 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    }
    xmlhttp.open("GET","/a/bin.php?tid="+str,true); // links to http(s)://<domain>/a/bin.....
    xmlhttp.send();
} 

demo('astring');