🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
jQuery

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

Ajax

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

Q&A

解決済

1回答

1424閲覧

Ajaxで送信したdataを取得する方法

nikuatsu

総合スコア177

jQuery

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

Ajax

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

0グッド

0クリップ

投稿2021/02/28 03:15

###前提・実現したいこと
jQueryでAjaxを実装したのですが、送信したdataを、.failの場合に取得できませんでしょうか?
以下「ここでdataを取得したい」という部分です。

jquery

1$.ajax({ 2 url : 'http:example.com/ajax', 3 type : 'POST', 4 dataType: 'json', 5 data : { process:'ajax', type:'search' } 6}) 7 8// 成功 9.done(function(response){ 10 11}) 12 13// 失敗 14.fail(function(){ 15 // ここで`data`の値を取得したい 16}); 17

###試したこと
いい方法がなければ以下のように事前にajaxdataを宣言することで解決しますが、すでにいくつか書いてしまい、この宣言をすることに気が引けています。

jQuery

1const ajaxData = { process:'ajax', type:'search' }; // 事前に`ajaxdata`を宣言する 2$.ajax({ 3 url : 'http:example.com/ajax', 4 type : 'POST', 5 dataType: 'json', 6 data : ajaxData 7}) 8 9// 成功 10.done(function(response){ 11 12}) 13 14// 失敗 15.fail(function(){ 16 console.log('ajaxdata:',ajaxdata); // 事前に宣言したのでここで使える 17});

また、.failの引数を以下のように出しましたが、dataの値は見当たりませんでした。

jQUery

1// 失敗 2.fail(function(XMLHttpRequest, textStatus, errorThrown){ 3 // `data`の値はこの引数には見当たりませんでした 4});

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

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

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

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

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

m.ts10806

2021/02/28 03:18

Ajaxのレスポンスではなくリクエストということであってますか?
guest

回答1

0

ベストアンサー

事前にajaxdataを宣言することで

はい。そうです。
むしろdoneの場合でも同じようにする必要があります。
リクエストは送るだけのものですし、failは主に通信失敗のときに返るものなので意図的に返したレスポンスは得られません。
あとは何に利用したいか次第ですね。

投稿2021/02/28 03:22

m.ts10806

総合スコア80875

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問