我正在尝试发送参数格式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;
?>
答案 0 :(得分:0)
您已注释掉<span id='newText'></span>
,因此document.getElementById('newText')
将为undefined
,因此尝试为document.getElementById('newText').innerHTML
分配值将引发异常,您的函数将终止于此点。
要么停止尝试修改已删除的元素,要么放回元素。
除此之外,这将成功发送数据(尽管您确实应该对您填写的查询字符串中的用户输入进行URL编码)。它不会对响应做任何事情,因为您在XHR对象上没有load
或readystatechange
事件处理程序。
答案 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)