从服务器PHP文件返回字符串到客户端网页
这方面有很多,但我找不到任何特别适合我的案例。下面是两个测试文件PHP和HTML。HTML文件只是有两个文本框,每个文本框都有一个按钮。我希望发生以下情况:从服务器PHP文件返回字符串到客户端网页,php,Php,这方面有很多,但我找不到任何特别适合我的案例。下面是两个测试文件PHP和HTML。HTML文件只是有两个文本框,每个文本框都有一个按钮。我希望发生以下情况: 单击“发送”按钮时要发送到PHP文件的上部文本框数据。这管用 PHP文件然后打开一个文本文件并附加数据。这管用 单击“接收”按钮,PHP文件打开文本文件并读取数据。这管用 现在我被难倒了。如何将数据从PHP文件返回到HTML文件中较低的文本框 注意:我正在使用jquery.redirect插件传输数据 HTML文件: <!DOCTYP
jquery.redirect
插件传输数据
HTML文件:
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset="UTF-8">
<script src='jquery-2.1.4.js'></script>
<script src="jquery.redirect.js"></script>
<title>Test</title>
</head>
<body>
<input id='send' type='text'></input>
<div id='btnSend'><center>Send</center></div>
<input id='receive' type='text'></input>
<div id='btnReceive'><center>Receive</center></div>
<style>
#btnSend {
width: 60px;
border: solid 1px;
cursor: pointer;
}
#btnReceive {
width: 60px;
border: solid 1px;
cursor: pointer;
}
</style>
<script type="text/javascript">
$('#btnSend').click(function(){
var dataOut = $('#send').val();
$.redirect('http://troncon.ca/ESO/test.php',{ userOut: dataOut});
});
$('#btnReceive').click(function(){
$.redirect('http://troncon.ca/ESO/test.php',{ userIn: ''});
});
</script>
</body>
</html>
试验
发送
接收
#btnSend{
宽度:60px;
边框:实心1px;
光标:指针;
}
#B接收{
宽度:60px;
边框:实心1px;
光标:指针;
}
$('#btnSend')。单击(函数(){
var dataOut=$('#send').val();
$.redirect('http://troncon.ca/ESO/test.php“,{userOut:dataOut});
});
$('#btnReceive')。单击(函数(){
$.redirect('http://troncon.ca/ESO/test.php“,{userIn:”});
});
PHP文件:
<?php
if(isset($_POST['userOut'])) {
sendData();
}
elseif(isset($_POST['userIn'])) {
getData();
}
function sendData() {
$handle = fopen('test.txt', "a");
$test = $_POST['userOut'];
fwrite($handle, $test);
fclose($handle);
}
function getData() {
$filename = "test.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
//echo $contents;
}
?>
使用AJAX获取和发送数据: 基于您的代码的示例如下:
$('#btnSend').click(function() {
var dataOut = $('#send');
var data = {
userOut: dataOut.val()
};
$.post("http://troncon.ca/ESO/test.php", data, function(data, status) {
alert("Data saved ");
});
});
$('#btnReceive').click(function() {
var dataIn = $('#receive');
var data = {
userIn: ''
};
$.post("http://troncon.ca/ESO/test.php", data, function(data, status) {
dataIn.val(data);
});
});
你应该考虑使用Ajax,这样你就可以在发送数据后得到一个结果。你使用的重定向插入不接收数据,只发送。您可能必须使用其他方法,如
$.post('http://troncon.ca/ESO/test.php“,{userOut:dataOut},函数(数据){alert(数据)}”代码>谢谢回复。当我使用Iceman代码时,发送部分工作正常。但是接收给我一个错误“数据未定义”。我假设我需要对PHP文件做些什么,但不确定是什么。你能给我指一下正确的方向吗。谢谢。@TedN取消对您phpNope中的echo$contents
的注释。当我得到错误时,我已经取消了对它的评论。我对Ajax的理解很少。在我当前的PHP代码中,“数据”是如何用字符串($contents)填充的?你的函数只是从文件中读取内容-fread
@非常抱歉,错误已经纠正!!!未初始化接收中的数据参数