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

ผมดาวโหลด 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>

 

13 ม.ค. 2554 5 1,975

 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
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^