---
# System prepended metadata

title: PHP ＆ jQuery 新用法筆記
tags: [PHP, JavaScript]

---

# PHP ＆ jQuery 新用法筆記

###### tags: `PHP` `JavaScript`

### jQuery

#### 1. empty 
empty() 方法從被選元素所有子節點和內容。

注意：該方法不會移除元素本身，或它的屬性。

> [連結](http://www.runoob.com/try/try.php?filename=tryjquery_html_empty)

---

在`api.php`中
```
$requestMethod = $_SERVER["REQUEST_METHOD"];
```
#### 2. parse_url 

https://stackoverflow.com/questions/5598480/php-parse-current-url


#### 3. $_server[REQUEST_URI]


假設我們的網址是 `http://www.wibibi.com/test.php?tid=333`

```
$_SERVER['HTTP_HOST']
$_SERVER['REQUEST_URI']
$_SERVER['PHP_SELF']
$_SERVER['QUERY_STRING']
```
分別顯示
```
echo $_SERVER['HTTP_HOST'];　顯示 www.wibibi.com
echo $_SERVER['REQUEST_URI'];　顯示 /test.php?tid=222
echo $_SERVER['PHP_SELF'];　顯示 /test.php
echo $_SERVER['QUERY_STRING'];顯示 tid=222
```

#### 4. explode();  將一個字串用某個字元進行分割

```
explode(要分割的字元或是字串, 要被分割的陣列);
```

example

```php
$data = "RicharLin,加油！,2016-04-15";
	
$tmp = explode(",",$data);
echo "作者：".$tmp[0]."<br>
	 發表日期：".$tmp[2]."<br>
	 內文：".$tmp[1];
```
以上內文會輸出
```
作者: RicharLin
發表日期: 2016-04-15
內文: 加油!
```

[延伸](https://richarlin.tw/blog/php-explode/)

4. 



在`query.php`中
```
$connection = $conn;
global $connection
```
在`getAlltodo`的function中
```php=
    $result = $stmt->get_result();
    if ($result->num_rows > 0) {
      $allItemsArr = array(); //這是什麼用法?
      while ($eachItemRow = $result->fetch_assoc()) {
        array_push($allItemsArr,$eachItemRow);//這是什麼用法
      }
        echo json_encode($allItemsArr);
    }else{
        echo "請輸入資料";
    }

```

在`editTodo`的function中

一般接收 POST 資料都是使用 `$_POST` 這個變數，
但 `$_POST` 只能取得 Content-type 為 `application/x-www-form-urlencoded` 或 `multipart/form-data` 的資料。
當 Content-type 為 `text/xml` 等其他類型的資料，`$_POST`便無法取得。

=> 所以可以這麼說嗎? 我不是用`$_POST`傳送資料到後端, 所以用這個方法?

```php=
file_get_contents("php://input"); 
```
[PHP 使用 file_get_contents 接收 POST 的資料](https://xyz.cinc.biz/2013/06/php-filegetcontents-post.html)