ajaxリクエスト、phpバックエンド

ブラウザにアドレスを入力してページを見た後、インターネットで何が起こったのですか?

https://blog.csdn.net/chj285401200/article/details/79668950

フロントエンドの簡単な理解:

1. DNS解析(将域名转换为IP地址的过程)
2. 向服务器发送一次HTTP请求(要一个东西)
3. 服务器会在它的磁盘上找个一个对应的文件给到客户端(一般来说是.html,.jpg.png.css.js等等)
4. 浏览器将根据已接收的文件将代码或图片解析成可见的页面。

httpプロトコル

1.ステートレス(最初のリクエストと次のリクエストの間に相関関係はありません)。

2.サーバーがクライアントにアクティブにプッシュすることは許可されていません

3.Webデータ送信でよく使用されます

phpnow開発統合キット

  • PHP
  • Apache(webServiceソフトウェア)
  • MYSQL

ajax:httpスクリプト-jsコードを使用してhttpリクエストを制御します。実際のネットワーク環境に基づいています。引用符なしのパラメーター

Ajaxリクエストの手順:

  1. XMLHttpRequestオブジェクトをインスタンス化します
  • http = new XMLHttpRequest();
  1. リクエストを開く計画(メソッド、URL、非同期)falseは同期を意味し、trueは非同期を意味し、デフォルトです。
  • http.open(“ get”、“ http://127.0.0.1”、true);
  1. send()を使用してリクエストを送信します
  • http.send();
  1. サーバーから返されたコンテンツを受け入れると、http.responseTextバックエンドがデータを返します
  • http.onreadystatechange = function(){

    //クライアントはサーバーから応答を受信して​​いる必要があります。

    // readyStateステータスコード:

    0:要求は初期化されていません
    1:サーバーは接続を確立しています
    2:要求は受信されています
    3:要求は処理されています
    4:要求は完了し、応答の準備ができています

    if(http.readyState === 4){

    //データ処理

    }

    }

ステータスコード:200、304が成功し、クライアントが400の初めに失敗し、サーバーが500の初めに失敗しました。

HTTPステータスコードとReadyStateステータスコード

https://blog.csdn.net/qq_39125445/article/details/82754400

mysql:

データベース構造:

* 库 - Excel文件
* 表 - 文件内的表
* 列 - 表头
* 行 - 一条数据

データベース内のテーブルの設計原則:すべてのテーブルにはidフィールドが必要であり、このフィールドの値は一意であり、フィールドはテーブルの主キーである必要があります。

SQLステートメント:

<!-- 查询 -->

	SELECT * FROM 表名
	SELECT * FROM 表名 WHERE 字段名="某值"
	SELECT * FROM 表名 WHERE 字段名="某值" AND 字段名="某值"
	SELECT * FROM 表名 WHERE 字段名="某值" OR 字段名="某值"
	SELECT * FROM 表名 ORDER BY 字段名 根据某个的字段的值进行排序

	<!-- 删 -->

	DELETE FROM 表名 WHERE 字段名="某值";
	DELETE FROM 表名

	<!-- 增 -->

	INSERT INTO 表名 (字段名,字段名,字段名...) VALUES ("值1","值2","值3"...)

	<!-- 改 -->

	UPDATE 表名 SET 字段名="新值" WHERE 字段名="某值"
	UPDATE 表名 SET 字段名="新值",字段名="新值" WHERE 字段名="某值"

JSON:これは軽量のデータ交換フォーマットであり、主にフロントエンドとバックエンド間のデータ交換に使用されます。

  • JSON文字列:この形式は、バックエンドがフロントエンドにデータを送信するときに送信されることがよくあります。(通常、バックエンドから送信されます)
    • json =[{"name":"wdw","age":18}]
  • JSONオブジェクト:通常、フロントエンドが取得しようとしているもの、配列、またはオブジェクトの間にネストされたオブジェクト。(フロントエンドが受け取ることを期待するもの)
    • Json = [{“ name”:“ wwd”、“ age”:18}]とします

JSON文字列とJSONオブジェクト間の変換

  • JSON.parse(JSON形式の文字列):解析し、JSON文字列を副作用なしでJSONオブジェクトに変換します。
  • JSON.stringify(JSONオブジェクト):JSONオブジェクトを解析解除してJSON文字列に変換します

php:動的なインタラクティブサイトを作成するための強力なサーバーサイドスクリプト言語です

<?php

header("Content-Type:text/html;charset=utf-8");//解决返回值字符编码问题
//php用$声明变量,使用的时候也要带上$
// 连接mysql
$con=mysql_connect("localhost","root","123456");
//连库失败之后报错误信息
if(!$con){
    
    
    //返回给前台错误信息
    die("Could not connect:". mysql_error());
}else{
    
    
    //连接数据库
    mysql_select_db("student",$con);
    //解决字符编码问题
    mysql_query("set character set 'utf8'");//读库 
    mysql_query("set names 'utf8'");//写库
    //接受前端发过来的参数
    $name=$_GET["name"];
    //查询数据库
    //此时查询过来的$result是php世界里的关联数据。
    $result=mysql_query('SELECT * FROM students WHERE name="'.$name.'"');
    //使用字符串拼接将$result变成前端所认识的数组或者是对象(JSON字符串或者JSON对象)
    //mysql_fetch_array(data,array_type)函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有,返回根据从结果集取得的行生成的数组,如果没有更多行则返回 false。
    //data可选。规定要使用的数据指针。该数据指针是 mysql_query() 函数产生的结果。
    //可选。规定返回哪种结果。可能的值:MYSQL_ASSOC - 关联数组,MYSQL_NUM - 数字数组,MYSQL_BOTH - 默认。同时产生关联和数字数组
    $response="[";
    while($row=mysql_fetch_array($result)){
    
    
        $response=$response.'{'.'"id":'.$row["id"].','.'"name":"'.$row["name"].'"'.','.'"sex":'.$row["sex"].','.'"age":'.$row["age"].','.'"birth":"'.$row["birth"].'"},';  
    }
    //截取字符串,处理成前端需要的json字符串
    $response=substr($response,0,strlen($response)-1).']';
    if(strlen($response)==1){
    
    
        echo "[]";
    }else{
    
    
        echo $response;
    }
    
}


?>

おすすめ

転載: blog.csdn.net/yanyuyanyan/article/details/112298094