Heim >Backend-Entwicklung >PHP-Tutorial >服务器端怎么向客户端发送数据

服务器端怎么向客户端发送数据

WBOY
WBOYOriginal
2016-06-13 11:55:431902Durchsuche

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

本帖最后由 u014635406 于 2014-04-26 21:40:56 编辑 我用post方法向服务器端发送了一个用户名和密码,想利用php实现服务器对该行为的响应,返回一个登录成功的字符串,该如何实现呢?客户端又该如何获得这个字符串呢?
------解决方案--------------------
写了个demo,输入username=fdipzone,password=123456服务器回返回成功,否则返回失败。
client.html
<br /><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><br /><html><br /> <head><br />  <meta http-equiv="conent-type" content="text/html; charset=utf-8"><br />  <title> client post</title><br />  <script src="//code.jquery.com/jquery-1.11.0.min.js"></script><br /> </head><br /><br /> <body><br />  <script type="text/javascript"><br />  function fsubmit(){<br />	  $.post("server.php", { username: $("#username").val(), password: $("#password").val() },function(ret){<br />		if(ret.success==true){<br />			alert('login success');<br />		}else{<br />			alert('login fail');<br />		}<br />	  },'json');<br />  }<br />  </script><br />  <p>username:<input type="text" id="username"></p><br />  <p>password:<input type="text" id="password"></p><br />  <p><input type="button" value="submit" onclick="fsubmit()"></p><br /> <br /> </body><br /></html><br />

server.php
<br /><?php<br />$username = isset($_POST['username'])? $_POST['username'] : '';<br />$password = isset($_POST['password'])? $_POST['password'] : '';<br /><br />$ret = array();<br /><br />if($username=='fdipzone' && $password=='123456'){<br />    $ret['success'] = true;<br />}else{<br />    $ret['success'] = false;<br />}<br /><br />echo json_encode($ret);<br />?><br />

------解决方案--------------------
你就是按了一个按钮后,调用一个方法,然后方法里面再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']来获取
------解决方案--------------------
<br /><!DOCTYPE html><br /><html><br /><head><br />    <title></title><br />    <script<br />            src="http://code.jquery.com/jquery-latest.js"></script><br /></head><br /><body><br /><br /><script><br />    $(document).ready(function () {<br />        $.post('test.php?gettest=1', {"test": "test"}, function (data) {<br />            alert(data.get);<br />            alert(data.post);<br />        }, 'json')<br />    })<br /></script><br /></body><br /></html><br />


<br />$array = array(<br />    'get' => $_GET['gettest'],<br />    'post' => $_POST['test'],<br />);<br /><br />echo json_encode($array);<br />
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn