-1

JavaScriptの値をPHPページに送信し、その値をPHPページで参照するにはどうすればよいですか?

私がこのようなjavascriptAJAXソリューションのようなものを持っていると仮定します:

var id=5;
      obj.onreadystatechange=showContent;
      obj.open("GET","test.php",true);
      obj.send(id);

test.phpでこの特定のIDを使用したいと思います。これどうやってするの?

4

3 に答える 3

2

コードを次のように変更します。

obj.open("GET","test.php?id=" + id,true);
obj.send();

次に、test.phpで使用します$_GET['id']

于 2012-06-16T09:15:52.050 に答える
2

javascriptで(他のイベントに割り当てることができるように関数を作成しています)

//jQuery has to be included, and so if it's not, 
//I'm going to load it for you from the CDN, 
//but you should load this by default in your page using a script tag, like this:
//<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
window.jQuery || document.write('<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"><\/script>')

function sendValueGet(passedValue){
  jQuery.get('test.php', { value: passedValue });
}
function sendValuePost(passedValue){
  jQuery.post('test.php', { value: passedValue });
}

そしてあなたのPHPで:

<?php
if( $_REQUEST["value"] )
{
   $value = $_REQUEST['value'];
   echo "Received ". $value;
}
?>

javascriptの「object」{ value: ... }とPHPの「REQUEST」変数で「value」を使用していることに注意してください$_REQUEST["value"]

別の参照名を付けたい場合は、両方の場所で変更する必要があります。

GETまたはPOSTの使用が好みです。

于 2012-06-16T10:45:18.977 に答える
1

//得る

if (window.XMLHttpRequest)
{
  xmlhttp=new XMLHttpRequest();
}
else
{
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
  {
    var x=xmlhttp.responseText;
    alert(x);
  }
}
xmlhttp.open("GET","test.php?q="+id,true);
xmlhttp.send();

test.phpで

$id=$_GET['q']

//役職

if (window.XMLHttpRequest)
{
  xmlhttp=new XMLHttpRequest();
}
else
{
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
  {
    var x=xmlhttp.responseText;
    alert(x);
  }
}
xmlhttp.open("POST","test.php",true);
xmlhttp.send("x=id");

test.phpで

$id=$_POST['x']
于 2012-06-16T09:25:24.167 に答える