2013-08-27 53 views
0

我有一個複選框,無論何時檢查它調用另一個PHP腳本使用Ajax,現在在PHP腳本我有一個按鈕3個文本框,每當按下按鈕,Ajax將執行調用另一個PHP腳本。所有的都在同一個頁面預製!它就像這個是否有可能使用Ajax調用另一個Ajax內的php腳本?

PHP - >阿賈克斯 - > PHP - >阿賈克斯 - > PHP

是否有可能,或過多的處理?

我的第一個Ajax是:

<script type = 'text/javascript'> 
     function load(cb, pos) 
     { 
      if (cb.checked == false) 
      { 
       document.getElementById(pos).innerHTML=""; 
       return; 
      } 
      if (window.XMLHttpRequest) 
       xmlhttp = new XMLHttpRequest(); 
      else 
       xmlhttp = new ActiveXObject('Microsoft.XMLHTTP'); 

      xmlhttp.onreadystatechange = function() 
      { 
       if (xmlhttp.readyState == 4 && xmlhttp.status == 200) 
        document.getElementById(pos).innerHTML = xmlhttp.responseText; 
      } 

       xmlhttp.open('GET', "trying.inc.php?pass='true'", true); 
       xmlhttp.send(); 
     } 
    </script> 

第二阿賈克斯是在 「Tring.inc.php」:

<script type = 'text/javascript'> 
    function check() 
    { 
     if (window.XMLHttpRequest) 
      xmlhttp = new XMLHttpRequest(); 
     else 
      xmlhttp = new ActiveXObject('Microsoft.XMLHTTP'); 

     xmlhttp.onreadystatechange = function() 
     { 
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) 
       document.getElementById('adiv').innerHTML = xmlhttp.responseText; 
     } 

     Parameters = "OldPass="+document.getElementById('OldPass').value+"&newPass="+document.getElementById('newPass').value+"&Confirm="+document.getElementById('ConfirmPass').value; 

     xmlhttp.open('POST', 'Trying2.inc.php', true); 
     xmlhttp.setRequestHeader ('Content-type', 'application/x-www-form-urlencoded'); 
     xmlhttp.send(Parameters); 
    } 
</script> 

調用 「Trying2.inc.php」。

現在,當我在「trying.inc.php」頁面時,Ajax在調用「trying2.inc.php」時工作,但是從主頁面我可以調用「trying.inc.php」,但是「嘗試。 inc.php「不能調用」trying2.inc.php「,我希望它很清楚,因爲我不知道如何解釋它。如果可以做些什麼來實現它,請使用代碼支持它。我爲了學習目的這麼做,請不要對我苛刻,在此先感謝。

+0

最好使用嵌套的ajax腳本。 –

+0

您是否看過開發人員工具上的網絡選項卡?是否顯示錯誤?如果你看到這樣的錯誤'Origin http:// localhost:8080不被Access-Control-Allow-Origin'所允許,那麼你可能想嘗試添加'header('Access-Control-Allow-Origin:* ');'在Trying2.inc.php文件HTH的開頭。 – JohnnyQ

+0

您不能通過將腳本放入'.innerHTML'來執行腳本。動態加載腳本的唯一方法是明確創建'script'節點。 – Barmar

回答

2

如果你正在使用jquery,你可以在新添加到dom的元素上使用bind/live,因此你必須能夠做到這一點。

+1

有時它有助於給出一個示例/鏈接你指的是什麼。 – aug

+0

http://jquerybyexample.blogspot.in/2010/08/bind-vs-live-vs-delegate-function.html?m=1 –