搜尋
首頁php教程php手册Ajax异步请求PHP数据,ajax异步php

Ajax异步请求PHP数据,ajax异步php

来源:http://www.ido321.com/1138.html

接到了老师的一个作业,实现的布局如图:

如果输入了科室ID,科室名字只显示与ID对应的,若没有输入,则显示全部,然后根据I科室名字的值,在所属大科中的文本框自动显示科室名字所在的大科。例如:选择了心血管内科,则在所属大科显示内科。

主要代码如下:

根据ID请求科室

<span>function</span><span> showHint(str)
{
    <span>var</span> xmlhttp;
    <span>if</span> (window.XMLHttpRequest)
     {<span>// IE7+, Firefox, Chrome, Opera, Safari</span>
        xmlhttp=<span>new</span> XMLHttpRequest();
     }
      <span>else</span>
     {<span>// IE6, IE5</span>
        xmlhttp=<span>new</span> ActiveXObject(<span>"Microsoft.XMLHTTP"</span>);
     }
     xmlhttp.onreadystatechange=<span>function</span>()
    {
       <span>if</span> (xmlhttp.readyState==4 && xmlhttp.status==200)
      {
        document.getElementById(<span>"txtHint"</span>).innerHTML=xmlhttp.responseText;
      }
  }
    xmlhttp.open(<span>"GET"</span>,<span>"keshi.php?q="</span>+str,<span>true</span>);
    xmlhttp.send();
}</span>

keshi.php:

<span><?php
<span>/*防止恶意调用*/</span>
define(<span>"TEST"</span>,<span>'test'</span>);
<span>// 引入文件</span>
<span>include_once</span> <span>'mysql.func.php'</span>;
<span>// 数据库初始化</span>
connectMySQL();
selectDB();
setZiFuJi();

<span>//获得来自 URL 的 q 参数</span>
$q=$_GET[<span>"q"</span>];
<span>//如果 q 是数字或者数字字符串</span>
<span>if</span> (is_numeric($q))
  {
    $q = intval($q);
    $hint=<span>""</span>;
    $resultDKQ = queryDB(<span>"select name from table_dake where id=$q"</span>);
    $hint = <span>'科室名字:<select name="ksname" id="ksname" onchange="show(this.options[this.selectedIndex].value)">'</span>;
    <span>while</span> (!!$rowDKQ = fetchAssoc($resultDKQ))
    {
      $hint .= <span>'<optgroup label='</span>.$rowDKQ[<span>'name'</span>].<span>'>'</span>;
      $resultKSQ = queryDB(<span>"select table_dake.id,table_keshi.sid,table_keshi.name from table_dake,table_keshi where table_dake.name='{$rowDKQ['name']}' and table_keshi.sid=table_dake.id"</span>);
      <span>while</span>(!!$rowKSQ = fetchAssoc($resultKSQ))
      {
        $hint .= <span>'<option>'name'</span>].<span>'>'</span>.$rowKSQ[<span>'name'</span>].<span>'</option>'</span>;
      }
      $hint .= <span>'</optgroup>'</span>;
    }
  }
  <span>// 不是数字</span>
  <span>else</span>
  {
    $resultDK = queryDB(<span>"select table_dake.name from table_dake"</span>);
    $hint = <span>'科室名字:<select name="ksname" id="ksname" onchange="show(this.options[this.selectedIndex].value)">'</span>;
     <span>while</span> (!!$rowDK = fetchAssoc($resultDK))
    {
      $hint .= <span>'<optgroup label='</span>.$rowDK[<span>'name'</span>].<span>'>'</span>;
      $resultKS = queryDB(<span>"select table_dake.id,table_keshi.sid,table_keshi.name from table_dake,table_keshi where table_dake.name='{$rowDK['name']}' and table_keshi.sid=table_dake.id"</span>);
      <span>while</span>(!!$rowKS = fetchAssoc($resultKS))
      {
        $hint .= <span>'<option>'name'</span>].<span>'>'</span>.$rowKS[<span>'name'</span>].<span>'</option>'</span>;
      }
      $hint .= <span>'</optgroup>'</span>;
    }
  }
 $response=$hint;
<span>//输出响应</span>
<span>echo</span> $response;
?></span>

 

效果:

未输入ID如上图,输入ID在下图:

下一篇:百家搜索:在网站中添加Google、百度等搜索引擎

用ajax提交异步后,PHP该怎写代码用来返回处理的结果到客户端

在S端直接ECHO '字符串';或 EXIT(json_encode(数组));就行了,
 

ajax的异步

每次请求是没问题的,但是每次请求肯定会有延时。异步的问题只是会有延时,不会存在接收不到返回值的问题,收不到返回值肯定是你哪里写错了。

同时你这个情况我的比较建议一次就把数据都请求过来,存在客户端这边,然后根据需要显示就可以了。

希望对你有帮助!
 

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器