2012-03-28 22 views
0

我有一個WordPress站點路徑問題阿賈克斯,在WordPress網站

爲前,www.test.com

有一個在mytheme的文件夾中的文件夾腳本JS文件(forms.js) 。

即(主題/ mytheme的/腳本/ forms.js)

有mytheme的文件夾中mail.php

即(主題/ 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(); 

} 

我會打電話給 「submitFormToEmail」,如果我們在頁面點擊圖片* www.test.com/hello_test *

其中 「hello_test」 頁面在於主題/ mytheme的/。

但mail.php無法正常工作。

讓我知道,我們怎麼可以設置功能「submitFormToEmail」 mail.php的路徑,所以它會成功

+0

您的縮進風格確實很可怕。 – ThiefMaster 2012-03-28 21:20:01

+0

你是什麼意思,我的問題不清楚? – Linto 2012-03-28 21:26:21

回答

0

調用/mail.php將尋找mail.php文件在http://www.test.com/mail.php。只修理路徑?

要麼將​​正確的路徑直接編碼到JavaScript文件中,要麼使用PHP動態獲取它,使用get_bloginfo。有幾種方法可以做到這一點,但最好的方法是在頁面上創建一個隱藏的元素,然後在構建您的ajax請求時獲取該元素。否則,你必須設置php來解析js文件並將其包含在那裏。雖然對我來說似乎不是一個好方法。

get_bloginfo('template_url'); 
+0

也許他可以創建一個隱藏的輸入,並從那裏調用它... – 2012-03-28 21:33:09

+0

@mrtsherman你的意思是給像http://www.test.com/wp-content/themes/mytheme/mail.php的完整路徑 – Linto 2012-03-28 21:46:50

+0

@林託- 對就像那樣。 – mrtsherman 2012-03-28 21:50:25