4

ajaxポストコールでjspファイルを呼び出したい。だから私は以下のコードをやった -

  xmlhttp=new XMLHttpRequest();

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

   var params = "report_id=0&id=1234567890";
  xmlhttp.open("POST","/test/jsp/test.jsp",true);
  xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");

      xmlhttp.setRequestHeader("Content-length", params.length);
      xmlhttp.setRequestHeader("Connection", "close");
    xmlhttp.send(params);
   }
   </script>
    </head>
<body onload="loadXMLDoc()">
 <div id="myDiv"></div>

test.jsp は以下のようになります -

  <html>  
  <head>
   <script language="JavaScript">
   function hello()
   {
   alert("Hello");
   //Do my stuff
    }
   </script>
     <title>test Page</title>

  </head>
    <body topmargin="0" leftmargin="0" onload="hello()">
  <form name="mainForm" >
  </form>
  </body>
  </html>

問題は、最初の HTML ページを開いたときに警告メッセージが表示されないことです。ここで何が問題で、何をする必要がありますか?

4

2 に答える 2

2

onload 関数を試す代わりに、ready 関数を次のように使用します。

    $( document ).ready(function() 
    {
        //here you can call hello function
    })
于 2014-05-29T11:37:17.303 に答える
0

このように ajax 呼び出しを行っている場合、javascript は実行されません。

ajax呼び出しが行われたら、ajaxページではなくメインページで関数をトリガーする必要があります

 $.ajax({
    type: "POST",
    url: "test.jsp",

    success: function(){
        hello();
    },
    error: function(){
        alert("error");
    }
});
function hello()
{
}
于 2013-10-04T20:44:48.170 に答える