# 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)