teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

正しいと思われる回答に修正

2018/11/05 15:46

投稿

退会済みユーザー
answer CHANGED
@@ -1,11 +1,32 @@
1
+ ###### 回答概略
1
- 申し訳ありません。よく考えると1.10.2は1.5より新しいバージョンです
2
+ `data`のプロパティを[Airtable API](https://airtable.com/api)のドキュメントを元に適切な値に修正てください。
2
- 以下は、コードが正常に動作しない原因ではありません。
3
3
 
4
+ ###### 回答詳細
5
+ 通信時に「422 Unprocessable Entity」エラーが発生しています。これにより、JSONの取得ができていません。
6
+
7
+ 422エラーは、送信しているデータの形式に問題はないが、内容に問題があるときに返されることがあるエラーです。今回の場合、`data`のプロパティに問題があるため、発生していると思われます。
8
+
9
+ 質問者がAPIのどの機能を使用しようとしているか不明ですが、[Airtable API](https://airtable.com/api)のドキュメントを読むと、いずれの機能にも、使用可能なリクエストパラメータに`limit` `offset` `sortField` `sortDirection`がありません。(代わりに`maxRecords`と、`[{field: "Name", direction: "desc"}]`のような値をとる`sort`があります。)
10
+
11
+ ですので、試しに以下の`data`で通信してみてください。他に問題がなければ、おそらく正常にJSONを取得できると思います。
12
+ ```JavaScript
13
+ data: {
14
+ "view": "Main View",
15
+ }
16
+ ```
17
+
18
+ なお、質問者が参考サイトとして上げている情報ですが、最終更新日が1年以上前となっています。情報が古いため、現在のAPIでは適用できない情報なのかもしれません。
19
+
20
+ ---
21
+ 以下は、回答当初に行った誤りを含む回答です。
22
+ 1.10.2は、1.5より新しいバージョンのため、以下の回答は意味をなしません。
23
+ ただ、念のため残しておきます。
24
+
4
25
  ~~jQuery 1.10.2を使用していますが、`done()`メソッドを使用できるのは、jQuery 1.5以上です。そのため、コードが正常に動作していないと思われます。~~
5
26
 
6
27
  ~~jQuery 1.10.2でajax通信を行うのであれば、`done()` `fail()`の代わりに、`success` `error`プロパティで処理を行ってください。~~
7
28
 
8
- ```
29
+ ```JavaScript
9
30
  $.ajax({
10
31
  url: "jsonデータのURL",
11
32
  success: function(data, textStatus, jqXHR){
@@ -17,4 +38,6 @@
17
38
  ```
18
39
 
19
40
  ~~ただ、特に理由がなければ、新しいバージョンのjQueryを使用することをオススメします。
20
- 2018/11/2時点の最新バージョンは、3.3.1です。~~
41
+ 2018/11/2時点の最新バージョンは、3.3.1です。~~
42
+
43
+ ~~jQuery 1.10.2でajax通信を行うのであれば、`done()` `fail()`の代わりに、`success` `error`プロパティで処理を行ってください。~~

3

回答自体が誤っていたので修正

2018/11/05 15:46

投稿

退会済みユーザー
answer CHANGED
@@ -1,7 +1,10 @@
1
- jQuery 1.10.2を使用していますが、`done()`メソッドを使用できるのは、jQuery 1.5以上です。そのため、コードが正常に動作ないと思われます。
1
+ 申し訳ありません。よく考えると、1.10.2は、1.5より新しいバージョンです。
2
+ 以下は、コードが正常に動作しない原因ではありません。
2
3
 
3
- jQuery 1.10.2でajax通信行うのであれば、`done()` `fail()`代わりに`success` `error`プロパティ処理を行っください。
4
+ ~~jQuery 1.10.2を使用していますが、`done()`メソッドを使用できるjQuery 1.5以上す。そのため、コードが正常に動作していないと思われます~~
4
5
 
6
+ ~~jQuery 1.10.2でajax通信を行うのであれば、`done()` `fail()`の代わりに、`success` `error`プロパティで処理を行ってください。~~
7
+
5
8
  ```
6
9
  $.ajax({
7
10
  url: "jsonデータのURL",
@@ -13,5 +16,5 @@
13
16
  });
14
17
  ```
15
18
 
16
- ただ、特に理由がなければ、新しいバージョンのjQueryを使用することをオススメします。
19
+ ~~ただ、特に理由がなければ、新しいバージョンのjQueryを使用することをオススメします。
17
- 2018/11/2時点の最新バージョンは、3.3.1です。
20
+ 2018/11/2時点の最新バージョンは、3.3.1です。~~

2

文章の修正

2018/11/02 16:43

投稿

退会済みユーザー
answer CHANGED
@@ -1,4 +1,4 @@
1
- 使用しているjQueryのバージョン1.5未満なので、`done()`メソッドが定義されていないため、発生していと思われます。
1
+ jQuery 1.10.2を使用していますが、`done()`メソッドを使用できるのは、jQuery 1.5以上です。そのため、コードが正常に動作していないと思われます。
2
2
 
3
3
  jQuery 1.10.2でajax通信を行うのであれば、`done()` `fail()`の代わりに、`success` `error`プロパティで処理を行ってください。
4
4
 

1

誤字の修正

2018/11/02 11:13

投稿

退会済みユーザー
answer CHANGED
File without changes