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

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

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

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

1回答

2281閲覧

Ajax postでエラーになる

Ruri5280

総合スコア309

WordPress

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2022/12/14 01:52

前提

こちらのページを参考に
Ajaxで新規投稿をする処理を作成しています

htmlにfrom部分を作成しjsまでは実行できているようなのですが
コンソールで確認すると400 (Bad Request)になってしまいます。

何が悪いかわからず質問させていただきました
アドバイスいただけると嬉しいです

POST http://localhost/wp-admin/admin-ajax.php 400 (Bad Request)

該当のソースコード

HTML

1<form enctype="multipart/form-data" action="<?php echo admin_url('admin-ajax.php'); ?>" method="POST" id="post_test_zone" name="post_test_zone"> 2 <input type="text" name="text1" id="text1" value=''> 3 <input id="post_test_zonebtn" type="submit" value="保存"> 4</form>

JS

1 $("#post_test_zonebtn").on("click", function (event) { 2 e.preventDefault(); 3 jQuery.ajax({ 4 type: "POST", 5 url: ajaxurl, 6 data: new FormData(document.getElementById("post_test_zone")), 7 processData: false, 8 contentType: false, 9 dataType: "json", 10 error: function (response) { 11 alert("Error"); 12 }, 13 success: function (response) { 14 alert("succe"); 15 }, 16 }); 17 });

function.php

1function ajax_post_test_zone () { 2 $data = $_POST; 3 dump($data); 4 wp_die(); 5} 6add_action('wp_ajax_post_test_zone', 'post_test_zone'); 7add_action('wp_ajax_nopriv_post_test_zone', 'post_test_zone');

試したこと

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

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

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

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

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

guest

回答1

0

400エラーですからurlの表記ミスかなにかではないでしょうか?
ajaxurlに何を指定しているかによると思います

投稿2022/12/14 02:33

yambejp

総合スコア117755

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

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

Ruri5280

2022/12/14 02:54

回答ありがとうございます urlは意識してませんでした、、 urlパラメータって、コールバック側のPHPファイルを指定する感じでしょうか(function.php?) それとも今実行している固定ページのPHPファイル?になるのでしょうか、、
yambejp

2022/12/14 05:17

400エラーはサーバー側がアクセス拒否するエラーですので、PHPが任意に返していないならapache側の設定で弾かれているのかもしれません。いまの情報ではなんとも言いようがありません
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問