質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

Q&A

1回答

4732閲覧

AjaxのPostでTypeError: 'caller', 'callee', and 'arguments' properties may not be accessedが返ってくる

kamedamorio

総合スコア6

POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

0グッド

0クリップ

投稿2020/07/06 17:32

##概要
AjaxのPostメソッドでレスポンスが400エラーになり下記エラーメッセージが返ってきます。
※getメソッドは問題なく動きます。
対処法を教えて欲しいです。

TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them at Function.invokeGetter (<anonymous>:1:142)

##ソースコード

PHP

1function getTodayCount() { 2 global $wpdb; 3 $request = $_GET['today']; 4 $now = date("Y/m/d"); 5 $sql = $wpdb->prepare('select count(id) from $wpdb->wp_db_counts where regist_day = %s',$now); 6 $results = $wpdb->get_results($sql); 7 $countResult = $wpdb->num_rows; 8 // header('Content-Type: application/json; charset=UTF-8'); 9 // var_dump($countResult); 10 // die(); 11 echo $countResult; 12 // echo "test"; 13 die(); 14} 15add_action('wp_ajax_get_today_count', 'getTodayCount'); 16add_action('wp_ajax_nopriv_get_today_count', 'getTodayCount'); 17 18// カウントの登録 19function setCount() { 20 global $wpdb; 21 $request = $_POST['today']; 22 $nowDate = date("Y/m/d"); 23 $nowTime = date("Y/m/d H:i:s"); 24 $table_name = $wpdb->prefix ."db_count"; 25 $results = $wpdb->query("insert into ".$table_name . "(regist_day,created_at) values(". $nowDate ."," . $nowTime . ")"); 26 if ($results == false) { 27 # code... 28 echo "登録に失敗しました"; 29 } else { 30 echo "登録に成功しました"; 31 } 32 die(); 33} 34add_action('wp_ajax_set_count', 'setCount'); 35add_action('wp_ajax_nopriv_set_count', 'setCount'); 36

js

1'use strict'; 2 3$(function() { 4 var maxCount = 3 5 var ajaxurl = '//localhost:8000/wp-admin/admin-ajax.php'; 6 var todayForm = new Date(); 7 var y = todayForm.getFullYear(); 8 var m = ("00" + (todayForm.getMonth() + 1)).slice(-2); 9 var d = ("00" + todayForm.getDate()).slice(-2); 10 var requestDateForm = y + '/' + m + '/' + d; 11 $.ajax({ 12 method: 'GET', 13 url: ajaxurl, 14 // processData: false, 15 contentType: 'application/json', 16 data : { 17 'action': 'get_today_count', 18 }, 19 }).then(function (response) { 20 console.log(response); 21 var todayCount = maxCount - parseInt(response); 22 $(".count").text(todayCount); 23 }).catch(function (error) { 24 console.log(error); 25 }); 26 27 $("#confirmbtn").on("click", function() { 28 event.preventDefault(); 29 30 var fd = new FormData(); 31 fd.append('action', 'ajaxtest'); 32 33 // ajax通信 34 $.ajax({ 35 type: 'POST', 36 url: ajaxurl, 37 // data: { 38 // 'action': 'set_count', 39 // }, 40 data : fd, 41 processData: false, 42 contentType : false, 43 // contentType: 'application/json', 44 // 成功時 45 }).then(function (response) { 46 console.log(response); 47 // 失敗時 48 }).catch(function (error) { 49 console.log(error); 50 }); 51 }) 52});

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ご利用のライブラリのなにかの関数が「'caller', 'callee', 'arguments' 」のどれかを
利用しているのでは?
これらの仕様はstrictモードでは使えません。

投稿2020/07/07 15:36

yambejp

総合スコア114843

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問