PHP로 자작 API를 만들고 axios로 데이터를 가져와 표시
완성 이미지↓
우선 html입니다.
<input type="text" class="input">
<div class="result"></div>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="./app.js"></script>
(axios → htps : // 기주 b. 코 m/아오오 s/아오오 s)
입력에 입력된 값에 따라 결과를 표시합니다.
js에서는 입력될 때마다 axios로 통신하는 처리를 합니다.
document.querySelector('.input').addEventListener('keyup', function() {
// 結果表示の要素を取得
const result = document.querySelector('.result');
// 入力が空だったら結果表示を空にして処理を止める
if(!this.value) return result.textContent = '';
// パラメータの指定
let params = new URLSearchParams();
params.append('input_val', this.value);
axios.post('./api.php', params).then(response => {
result.textContent = response.data.text; // 結果の文字列を表示する
result.style.color = response.data.color; // 結果の色を適用する
}).catch(error => {
// エラーを受け取る
console.log(error);
});
});
매개 변수 지정 정보 → htps : // 코 m / 타로 c / ms / f22f7d5d6d5443c72a4
통신처의 api.php에서는, 송신되어 온 값에 의해 출력하는 데이터를 결정하는 처리를 하고 있습니다.
<?php
// 検索対象の配列
$data = ['kyuri', 'gobo', 'tomato', 'ninjin', 'toufu'];
if(empty($_POST['input_val'])){
exit(); // POSTが空だったら終了する
}
// 出力する配列を作る関数
function createResponse($val, $isIn){
$result = [
'text' => $isIn ? $val.' あるよ!' : $val.'はないよ...', // 第2引数の$isInがtrueかfalseかで内容を変える
'color' => $isIn ? 'red' : 'blue' // 第2引数の$isInがtrueかfalseかで赤か青かを決める
];
return $result;
};
// POSTされた入力内容の値を変数に格納
$inputValue = $_POST['input_val'];
// in_arrayで入力内容の値が配列に存在するか調べる
if(in_array($inputValue, $data)){
// 存在する場合第2引数をtrueにしてcreateResponse関数を呼び出し、出力する
echo json_encode(createResponse($inputValue, true));
exit();
}else{
// 存在しない場合第2引数をfalseにしてcreateResponse関数を呼び出し、出力する
echo json_encode(createResponse($inputValue, false));
exit();
}
json_encode도 잊지 마세요!
Reference
이 문제에 관하여(PHP로 자작 API를 만들고 axios로 데이터를 가져와 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yusuke_prg/items/f166ab4b0aafd7053fb6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)