服务器端如何向客户端发送数据?

Ritchie421 2014-04-26 09:40:12
我用post方法向服务器端发送了一个用户名和密码,想利用php实现服务器对该行为的响应,返回一个登录成功的字符串,该如何实现呢?客户端又该如何获得这个字符串呢?
...全文
863 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
傲雪星枫 2014-04-27
  • 打赏
  • 举报
回复
你就是按了一个按钮后,调用一个方法,然后方法里面再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 }
傲雪星枫 2014-04-27
  • 打赏
  • 举报
回复
写了个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);
?>
Ritchie421 2014-04-27
  • 打赏
  • 举报
回复
三个过程希望能通过点击一次登录按钮,就实现整个过程。
Ritchie421 2014-04-27
  • 打赏
  • 举报
回复

<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
// 获得客户端发送来的运算结果
}
?>
就是为了实现客户端先向服务器发送数据,服务器再向客户端响应数据,最后客户端向服务器端发送对响应数据的运算结果。 总共是三轮数据交换过程,这个该怎么实现呢?
Ritchie421 2014-04-27
  • 打赏
  • 举报
回复
搞了一下午,终于弄明白了,谢谢了
黄袍披身 2014-04-27
  • 打赏
  • 举报
回复

<!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);
黄袍披身 2014-04-27
  • 打赏
  • 举报
回复
引用 7 楼 u014635406 的回复:
地址中可以加入参数吗,比如“server.php?a=1”,这样可以吗?
可以 但是 a 需要使用$_GET['a']来获取
Ritchie421 2014-04-27
  • 打赏
  • 举报
回复
地址中可以加入参数吗,比如“server.php?a=1”,这样可以吗?
一起混吧 2014-04-27
  • 打赏
  • 举报
回复
ajax吗? 先说说你是怎样post到服务器的。
寸辰 2014-04-26
  • 打赏
  • 举报
回复
去看w3school

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧