在ajax中的路径问题,在wordpress站点

时间:2012-03-28 21:18:12

标签: javascript wordpress

我有一个wordpress网站

for ex,www.test.com

mytheme文件夹的脚本文件夹中有一个js文件(forms.js)。

即(theme / mytheme / script / forms.js)

mytheme文件夹中有 mail.php 页面

即(theme / mytheme / mail.php)

以下是forms.js

的内容
function submitFormToEmail()
{

    var xmlhttp;
    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("results").innerHTML=xmlhttp.responseText;
        alert("Form received, thank you!");
        }
      }
        xmlhttp.open("GET","/mail.php",true);
    xmlhttp.send();

}

如果我们点击页面中的图片 * www.test.com / hello_test *

,我会调用“submitFormToEmail”

“hello_test”页面位于theme / mytheme /.

但mail.php无效。

请告诉我,如何在函数“submitFormToEmail”中设置mail.php的路径,以便它可以正常工作

1 个答案:

答案 0 :(得分:0)

调用/mail.php将在http://www.test.com/mail.php查找mail.php文件。只是修复路径?

直接将正确的路径编码到javascript文件中或使用php动态地使用get_bloginfo获取它。有几种方法可以做到这一点,但最好的方法是在页面上创建一个包含url的隐藏元素,然后在构建ajax请求时获取它。否则你必须设置php来解析js文件并将其包含在那里。对我来说似乎不是一个好方法。

get_bloginfo('template_url');