服务器端如何向客户端发送数据? 本帖最后由 u014635406 于 2014-04-26 21:40:56 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 写了个demo,输入username=fdipzone,password=123456服务器回返回成功,否则返回失败。client.html<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head> <meta http-equiv="conent-type" content="text/html; charset=utf-8"> <title> client post</title> <script src="//code.jquery.com/jquery-1.11.0.min.js"></script> </head> <body> <script type="text/javascript"> function fsubmit(){ $.post("server.php", { username: $("#username").val(), password: $("#password").val() },function(ret){ if(ret.success==true){ alert('login success'); }else{ alert('login fail'); } },'json'); } </script> <p>username:<input type="text" id="username"></p> <p>password:<input type="text" id="password"></p> <p><input type="button" value="submit" onclick="fsubmit()"></p> </body></html>server.php<?php$username = isset($_POST['username'])? $_POST['username'] : '';$password = isset($_POST['password'])? $_POST['password'] : '';$ret = array();if($username=='fdipzone' && $password=='123456'){ $ret['success'] = true;}else{ $ret['success'] = false;}echo json_encode($ret);?> ajax吗? 先说说你是怎样post到服务器的。 <script type="text/javascript">function submits(){// 实现账户与密码向服务器的发送// 服务器地址中传递的有参数a=1// 从服务器端接收数据num// 对num进行乘以2运算,再将结果发送给服务器端}</script><form id="loginform" action="./login.php?a=1" method="post" >username<input type="text" id="username" name="account">password<input type="password" id="pwd" name="password" ><input type="button" onclick="submits();"></form><?phpif($_POST['a'] == 1){$uName = $_POST['account'];$uPassword = $_POST['password'];// 比较数据库中信息(省略)// 向客户端传递数据num// 获得客户端发送来的运算结果}?>就是为了实现客户端先向服务器发送数据,服务器再向客户端响应数据,最后客户端向服务器端发送对响应数据的运算结果。总共是三轮数据交换过程,这个该怎么实现呢? 你就是按了一个按钮后,调用一个方法,然后方法里面再callback其他方法。直到流程走完。可以这样写。function fsubmit(){ $.post("server.php", { username: $("#username").val(), password: $("#password").val() },function(ret){ if(ret.success==true){ // 登入成功,这里可以调用第二个方法 doSecondFunc(); }else{ alert('login fail'); } },'json'); }function doSecondFunc(){ // do sth 如果还有,可以在这里再调用 thrid function} 地址中可以加入参数吗,比如“server.php?a=1”,这样可以吗? 可以 但是 a 需要使用$_GET['a']来获取 <!DOCTYPE html><html><head> <title></title> <script src="http://code.jquery.com/jquery-latest.js"></script></head><body><script> $(document).ready(function () { $.post('test.php?gettest=1', {"test": "test"}, function (data) { alert(data.get); alert(data.post); }, 'json') })</script></body></html>$array = array( 'get' => $_GET['gettest'], 'post' => $_POST['test'],);echo json_encode($array); discuz 用户登陆之后的session怎么判断 请问只含纯html代码的html文件和php文件运行速度会有区别吗? 在线求解,正则问题哦 求一个解析zip包的PHP小程序 fsockopen 问题 页面变量传递的问题 请帮忙看看这个mysql类取记录数的问题! 帮忙看一下我的程序 在PHP如何绘制统计图,解答的100分奉上 紧急求救mSSQL+PHP的问题 第一天搞PHP,崩溃了,这都报错??? 一段PHP代码!
client.html<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="conent-type" content="text/html; charset=utf-8">
<title> client post</title>
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
</head> <body>
<script type="text/javascript">
function fsubmit(){
$.post("server.php", { username: $("#username").val(), password: $("#password").val() },function(ret){
if(ret.success==true){
alert('login success');
}else{
alert('login fail');
}
},'json');
}
</script>
<p>username:<input type="text" id="username"></p>
<p>password:<input type="text" id="password"></p>
<p><input type="button" value="submit" onclick="fsubmit()"></p>
</body>
</html>server.php<?php
$username = isset($_POST['username'])? $_POST['username'] : '';
$password = isset($_POST['password'])? $_POST['password'] : '';$ret = array();if($username=='fdipzone' && $password=='123456'){
$ret['success'] = true;
}else{
$ret['success'] = false;
}echo json_encode($ret);
?>
<script type="text/javascript">
function submits(){
// 实现账户与密码向服务器的发送
// 服务器地址中传递的有参数a=1
// 从服务器端接收数据num
// 对num进行乘以2运算,再将结果发送给服务器端
}
</script>
<form id="loginform" action="./login.php?a=1" method="post" >
username<input type="text" id="username" name="account">
password<input type="password" id="pwd" name="password" >
<input type="button" onclick="submits();">
</form><?php
if($_POST['a'] == 1){
$uName = $_POST['account'];
$uPassword = $_POST['password'];
// 比较数据库中信息(省略)
// 向客户端传递数据num
// 获得客户端发送来的运算结果
}
?>就是为了实现客户端先向服务器发送数据,服务器再向客户端响应数据,最后客户端向服务器端发送对响应数据的运算结果。
总共是三轮数据交换过程,这个该怎么实现呢?
可以这样写。function fsubmit(){
$.post("server.php", { username: $("#username").val(), password: $("#password").val() },function(ret){
if(ret.success==true){
// 登入成功,这里可以调用第二个方法
doSecondFunc();
}else{
alert('login fail');
}
},'json');
}function doSecondFunc(){
// do sth
如果还有,可以在这里再调用 thrid function
}
可以 但是 a 需要使用$_GET['a']来获取
<!DOCTYPE html>
<html>
<head>
<title></title>
<script
src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body><script>
$(document).ready(function () {
$.post('test.php?gettest=1', {"test": "test"}, function (data) {
alert(data.get);
alert(data.post);
}, 'json')
})
</script>
</body>
</html>$array = array(
'get' => $_GET['gettest'],
'post' => $_POST['test'],
);echo json_encode($array);