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、百度等搜索引擎
在S端直接ECHO '字符串';或 EXIT(json_encode(数组));就行了,
每次请求是没问题的,但是每次请求肯定会有延时。异步的问题只是会有延时,不会存在接收不到返回值的问题,收不到返回值肯定是你哪里写错了。
同时你这个情况我的比较建议一次就把数据都请求过来,存在客户端这边,然后根据需要显示就可以了。
希望对你有帮助!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

Dreamweaver CS6
Visual web development tools

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

Atom editor mac version download
The most popular open source editor

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.
