0

私のindex.php

    switch ($action){

         case "calendar":

         echo "<script language=\"javascript\">\n";

         echo "document.write('Hello World!')";

         echo "</script>";

         include($_STR_TEMPLATEPATH."/calendar_view.php");

         break;

    }

私の calendar_view.php:

action calendarから呼び出して結果をindex表示する ajax 関数があります。calendar_view.phpcalendar div

<script>
    function calendarList()
    {
    var xmlHttp;
    try
      {
      // Firefox, Opera 8.0+, Safari
      xmlHttp=new XMLHttpRequest();
      }
    catch (e)
      {
      // Internet Explorer
      try
        {
        xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
      catch (e)
        {
        try
          {
          xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
          }
        catch (e)
          {
          alert("Your browser does not support AJAX!");
          return false;
          }
        }
      }
    xmlHttp.onreadystatechange=function()
    {
    if (xmlHttp.readyState==4 && xmlHttp.status==200)
      {
      document.getElementById("calendar").innerHTML=xmlHttp.responseText;
      }
    }

      xmlHttp.open("GET","?action=calendar",true);

      xmlHttp.send(null);

    }
  </scritp>

カレンダー div:

<div id="calendar"></div>

を呼び出すcalendarList functionと、ケースが呼び出されましたが、結果が に表示されませんでしたcalendar div

どんな助けでも。ありがとう

4

2 に答える 2

1

スクリプトを使用してテキストを記述する代わりに、テキストを出力するだけです

switch ($action){
     case "calendar":
     echo "Hello World!";
     include($_STR_TEMPLATEPATH."/calendar_view.php");
     break;
}

innerHTMLでスクリプトを挿入しても、innerHTML でスクリプトを挿入できませんか? を参照してください。

于 2012-08-13T08:31:30.127 に答える
1

そこに表示するものはあまりありません。すべてが説明どおりに機能する場合、応答は DOM に追加されますが、JavaScript アラートは実行されません。

alert(xmlHttp.responseText);あなたの応答が正しいことを絶対に確認してください。であれば、そこから行くことができます。

于 2012-08-13T08:32:58.170 に答える