{"id":4274,"date":"2024-01-22T17:22:30","date_gmt":"2024-01-22T08:22:30","guid":{"rendered":"https:\/\/taitan916.info\/blog\/?p=4274"},"modified":"2024-01-18T17:37:38","modified_gmt":"2024-01-18T08:37:38","slug":"post-4274","status":"publish","type":"post","link":"https:\/\/taitan916.info\/blog\/archives\/4274","title":{"rendered":"CodeIgniter4 &#038; jQuery\u3092\u7528\u3044\u3066\u540c\u4e00\u30b5\u30a4\u30c8\u5185\u3067ajax\u901a\u4fe1\u3059\u308b\u65b9\u6cd5"},"content":{"rendered":"<p>CodeIgniter4.4.4 &amp; jQuery\u3092\u7528\u3044\u3066\u540c\u4e00\u30b5\u30a4\u30c8\u5185\u3067ajax\u901a\u4fe1\u3057\u305f\u3044\u3002\u307e\u305a\u306f\u7c21\u5358\u306b\u30c6\u30ad\u30b9\u30c8\u30dc\u30c3\u30af\u30b9\u306bID(\u6570\u5024)\u3092\u5165\u529b\u3057\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u3068\u3001\u5225\u30da\u30fc\u30b8\u306bajax\u901a\u4fe1\u3057ID\u4e14\u3064\u73fe\u5728\u65e5\u6642\u3092\u8fd4\u3057\u3001\u30ec\u30b9\u30dd\u30f3\u30b9\u3092\u6b63\u5e38\u306b\u53d7\u3051\u53d6\u308c\u305f\u5834\u5408\u306f\u30a2\u30e9\u30fc\u30c8\u3067\u5185\u5bb9\u3092\u8868\u793a\u3055\u305b\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u7d44\u307f\u305f\u3044\u3002\u4ee5\u4e0b\u306b\u5b9f\u88c5\u65b9\u6cd5\u3092\u30e1\u30e2\u3002<\/p>\n<p>&nbsp;<\/p>\n<h2><span id=\"i-3\"><span id=\"i\">\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u8a2d\u5b9a<\/span><\/span><\/h2>\n<h3><span id=\"appConfigRoutesphp\">\/app\/Config\/Routes.php<\/span><\/h3>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">$routes-&gt;add('\/ajax', 'Ajax_Controller::index');\r\n$routes-&gt;post('\/ajax\/check', 'Ajax_Controller::check');<\/pre>\n<p><a href=\"https:\/\/codeigniter.com\/user_guide\/incoming\/routing.html#http-verb-routes\" target=\"_blank\" rel=\"noopener\">post\u6307\u5b9a<\/a>\u3059\u308b\u3053\u3068\u3067\u666e\u901a\u306b\u30d6\u30e9\u30a6\u30b6\u304b\u3089\u30da\u30fc\u30b8\u3092\u958b\u3053\u3046\u3068\u3057\u3066\u3082404\u306b\u306a\u308b(post\u9001\u4fe1\u3059\u308b\u3068\u30c7\u30fc\u30bf\u304c\u8fd4\u3063\u3066\u304f\u308b)\u3002<\/p>\n<p>&nbsp;<\/p>\n<h2><span id=\"Views\">Views<\/span><\/h2>\n<h3><span id=\"appViewscontact2headerphp\"><span id=\"appViewscontactheaderphp\">\/app\/Views\/ajax\/index.php<\/span><\/span><\/h3>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&lt;html lang=\"ja\"&gt;\r\n&lt;head&gt;\r\n&lt;meta http-equiv=\"Content-Type\" content=\"text\/html; charset=UTF-8\"&gt;\r\n&lt;title&gt;Ajax\u306e\u30c6\u30b9\u30c8&lt;\/title&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n\r\n    &lt;label for=\"test-id\"&gt;ID&lt;\/label&gt;\r\n    &lt;input id=\"test-id\" type=\"text\"&gt;\r\n    &lt;input id=\"ajax-btn\" type=\"button\" value=\"Ajax\u306e\u30c6\u30b9\u30c8\"&gt;\r\n\r\n    &lt;script type=\"text\/javascript\" src=\"https:\/\/code.jquery.com\/jquery-3.7.1.min.js\"&gt;&lt;\/script&gt;\r\n    &lt;script&gt;\r\n    $(function(){\r\n\r\n        $('#ajax-btn').on('click', function(){\r\n\r\n            const id = $('#test-id').val();\r\n            if( !id ){\r\n                alert('ID\u304c\u5165\u529b\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002');\r\n                return false;\r\n            }\r\n\r\n            const ajax_data = {'id' : id};\r\n            $.ajax({\r\n                url:'.\/ajax\/check',\r\n                type: 'POST',\r\n                headers: {'X-Requested-With': 'XMLHttpRequest'},\r\n                data: ajax_data,\r\n\r\n            }).done(function(result){\r\n                const json_data = JSON.parse(result);\r\n\r\n                \/\/\u30b9\u30c6\u30fc\u30bf\u30b9\u30b3\u30fc\u30c9\u304c200(\u6210\u529f)\u306e\u5834\u5408\r\n                if( json_data.status == 200 ){\r\n                    const msg = `ID:${json_data.data.id}\\nnow:${json_data.data.now}`;\r\n                    alert(msg);\r\n\r\n                \/\/\u30a8\u30e9\u30fc\u6642\r\n                }else{\r\n                    alert('\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002');\r\n                }\r\n\r\n            \/\/ajax\u81ea\u4f53\u306e\u30a8\u30e9\u30fc\u6642\r\n            }).fail(function() {\r\n                alert('\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002');\r\n\r\n            }).always(function() {\r\n                \/\/\u5b8c\u4e86\u5f8c\u306e\u51e6\u7406\r\n\r\n            });\r\n        });\r\n\r\n    });\r\n    &lt;\/script&gt;\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;<\/pre>\n<p>&nbsp;<\/p>\n<h2><span id=\"Controllers\">Controllers<\/span><\/h2>\n<h3><span id=\"appControllersContact2php\"><span id=\"appControllersContactphp\">\/app\/Controllers\/Ajax_Controller.php<\/span><\/span><\/h3>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&lt;?php\r\nnamespace App\\Controllers;\r\n\r\nclass Ajax_Controller extends BaseController\r\n{\r\n    public function index()\r\n    {\r\n        echo view('ajax\/index');\r\n    }\r\n\r\n    public function check()\r\n    {\r\n\r\n        $return = array();\r\n\r\n        do{\r\n            \/\/ID\u304c\u9001\u4fe1\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\r\n            if( !$this-&gt;request-&gt;getPost('id') ){\r\n                $return['status'] = 400; \/\/\u30b9\u30c6\u30fc\u30bf\u30b9\u30b3\u30fc\u30c9\u306f\u9069\u5b9c\u5909\u66f4\r\n                break;\r\n            }\r\n\r\n            $return = array(\r\n                'data' =&gt; array(\r\n                    'id' =&gt; $this-&gt;request-&gt;getPost('id'),\r\n                    'now' =&gt; date('Y-m-d H:i:s'), \r\n                ),\r\n                'status' =&gt; 200,\r\n            );\r\n        }while(0);\r\n\r\n        echo json_encode($return);\r\n\r\n    }\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<h2>\u6240\u611f<\/h2>\n<p>ajax\u901a\u4fe1\u3067\u500b\u4eba\u60c5\u5831\u7b49\u3001\u6f0f\u6d29\u304c\u6016\u3044\u30c7\u30fc\u30bf\u3092\u53d6\u308a\u6271\u3046\u3053\u3068\u306f\u7121\u3044\u304c\u3001\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u9762\u3092\u8003\u616e\u3057CSFR\u5bfe\u7b56\u3082\u5165\u308c\u3068\u3044\u305f\u65b9\u304c\u826f\u3044\u304b\u3082\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>CodeIgniter4.4.4 &amp; jQuery\u3092\u7528\u3044\u3066\u540c\u4e00\u30b5\u30a4\u30c8\u5185\u3067 ... <\/p>\n","protected":false},"author":1,"featured_media":2517,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2,3,80,4],"tags":[],"class_list":["post-4274","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php","category-jquery","category-codeigniter","category-javascript"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/posts\/4274","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/comments?post=4274"}],"version-history":[{"count":0,"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/posts\/4274\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/media\/2517"}],"wp:attachment":[{"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/media?parent=4274"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/categories?post=4274"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/tags?post=4274"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}