A-AA+then

ปรึกษาเรื่องการส่งตัวแปร php ใน ajax

1,874
ผมดาวโหลด script ajax calendar ในเว็บมา แล้ว ผมต้องการส่งค่าตัวแปร php ไปหน้า calendar.php จะเขียน script ยังไงครับ

//************************ หน้า index.php
    <script type="text/javascript">
    function Inint_AJAX()
    {
      try
      {
        return new ActiveXObject( "Msxml2.XMLHTTP" );//IE
      }
      catch( e )
      {
      }
      try
      {
        return new ActiveXObject( "Microsoft.XMLHTTP" );//IE
      }
      catch( e )
      {
      }
      try
      {
        return new XMLHttpRequest();//Native Javascript
      }
      catch( e )
      {
      }
      alert( "XMLHttpRequest not supported" );
      return null;
    };
    function loadcalendar( query )
    {
      var req = Inint_AJAX();
      req.open( "POST" , "calendar.php" , true );
      req.onreadystatechange = function()
      {
        if ( req.readyState == 4 )
        {
         if ( req.status == 200 )
         {
           document.getElementById( 'calendar' ).innerHTML = req.responseText;
         };
        };
      };
      req.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
      req.send( query );
    };
    </script>
     

5 ความคิดเห็น

 req.open( "POST" , "calendar.php?action=xxx" , true );
1

ขอบคุณมากครับ ++
2

แล้วถ้าตัวแปรที่ส่งไปเป็นตัวแปรของ php เขียนยังไงครับ

ผมเขียนแบบนี้  

req.open( "POST" , "calendar.php?id=<?=$id?>" , true );

มันไม่ส่งค่าไปอ่ะครับ

ที่หน้า calendar.php ผมก็รับค่า $_GET['id'] แล้วแต่ก็ไม่ได้ครับ

แต่ถ้า req.open( "POST" , "calendar.php?id=xxx" , true ); มันส่งได้ครับ

ขอบคุณครับ
3

555+++

นึกแล้วเชียวว่าต้องเจอคำถามนี้

req.open( "POST" , "calendar.php?id=<?=$id?>" , true );

ใช้ POST ในตอนส่ง ก็ต้องรับที่ $_POST สิครับ

ส่วนที่บอกว่าถ้าใช้ตัวแปรแล้วรับไม่ได้ แต่ถ้ากำหนดไปตรงๆ แล้วรับได้ ให้ลอง view source ดูครับ ว่าจริงๆแล้วค่าที่ echo ออกมาเมื่อ view source แล้ว เป็นไปตามที่ต้องการหรือไม่

โดยปกติ อาจพบว่า $id ไม่มีค่าในตอนเริ่มต้น มันก็เลยส่งไม่ไป
4

ได้แล้วครับ ขอบคุณมากครับ
5
^