search
Homephp教程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的异步

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

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

希望对你有帮助!
 

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Tools

mPDF

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

Dreamweaver CS6

Visual web development tools

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

Safe Exam Browser

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.