如何使用Gavascript将使用GET或POST方法的参数发送到php页面

时间:2014-01-05 16:48:52

标签: javascript php

我正在尝试发送参数格式file.php的其他内容(其中javascript写为<script> .... </script>)。我试图将参数传递给其他文件file2.php,但我没有这样做。 (对不起,我的英语不好)。这是我正在尝试的代码。

file.php

<html>
<head>
</head>
<body>
<script type="text/javascript">
function changeThis(){

var formInput = document.getElementById('theInput').value;
document.getElementById('newText').innerHTML = formInput;
var xmlHttp = null;

xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", "event2.php?theInput"= + formInput, true );
xmlHttp.send();
return xmlHttp.responseText;    
}

 </script>

 <!--  <p>You wrote: <span id='newText'></span> </p> -->
     <textarea id="theInput" style="height:200px;">Write Here</textarea>
    <input type='button' onclick='changeThis()' value='See what you wrote'/>

    </body>
    </html>

file2.php

<?php
  $id = $_GET["theInput"];
  echo $id;
?>

4 个答案:

答案 0 :(得分:0)

您已注释掉<span id='newText'></span>,因此document.getElementById('newText')将为undefined,因此尝试为document.getElementById('newText').innerHTML分配值将引发异常,您的函数将终止于此点。

要么停止尝试修改已删除的元素,要么放回元素。


除此之外,这将成功发送数据(尽管您确实应该对您填写的查询字符串中的用户输入进行URL编码)。它不会对响应做任何事情,因为您在XHR对象上没有loadreadystatechange事件处理程序。

答案 1 :(得分:0)

你的第一个scipt可以工作,只需改变:

xmlHttp.open( "GET", "file2.php?theInput=" + formInput, true );

错误:

xmlHttp.open( "GET", "event2.php?theInput"= + formInput, true );

您的php文件名似乎是 file2.php 而不是 event2.php

“”

之间必须有 =

你的旧剧本被证实:

<html>
<head>
</head>
<body>

<script type="text/javascript">

function changeThis(){
 var formInput = document.getElementById('theInput').value;
 document.getElementById('newText').innerHTML = formInput;
 var xmlHttp = null;
 xmlHttp = new XMLHttpRequest();
 xmlHttp.open( "GET", "file2.php?theInput=" + formInput, true );
 xmlHttp.send();
 return xmlHttp.responseText;     
}

</script>

 <p>You wrote: <span id='newText'></span> </p> 
 <textarea id="theInput" style="height:200px;">Write Here</textarea>
<input type='button' onclick='changeThis()' value='See what you wrote'/>

</body>
</html>

答案 2 :(得分:0)

<强> file.php

<html>
<head>
<script type='text/javascript' src='http://code.jquery.com/jquery-1.10.1.min.js'></script>

<script type="text/javascript">
function changeThis(){
    $.ajax({
    type: "POST",
    url: "file2.php",
    data: {theInput:theInput},
    dataType: 'json',
    success:function(data){
        $('#newText').html(data.newText);
        }
    });
}
</script>

</head>
<body>

<span id='newText'></span>
<textarea id="theInput" style="height:200px;">Write Here</textarea>
<input type='button' onclick='changeThis()' value='See what you wrote'/>

</body>
</html>

<强> file2.php

<?php
        $arr = array();
        $arr['newText'] = '';

        if(isset($_REQUEST['theInput']))
        {
            $arr['newText'] = $_REQUEST['theInput'];
        }

        die(json_encode($arr));
?>

答案 3 :(得分:0)

首先确保event2.php和file2.php是同一个文件。然后尝试使用逃生。

xmlHttp.open( "GET", "event2.php?theInput="= + encodedURIComponent(formInput), true)