質問編集履歴

2

コンソールでの実行状況を追記

2019/05/20 13:53

投稿

natecosan
natecosan

スコア23

test CHANGED
File without changes
test CHANGED
@@ -251,3 +251,107 @@
251
251
  [$.ajaxでステータスコード200なのにerrorで処理される](https://jquery-workshop.hatenablog.com/entry/2016/01/26/%24_ajax%E3%81%A7%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89200%E3%81%AA%E3%81%AE%E3%81%ABerror%E3%81%A7%E5%87%A6%E7%90%86%E3%81%95%E3%82%8C%E3%82%8B)
252
252
 
253
253
  この記事を参考に、datatypeをjsonに指定したりしたのですが、むしろそれだとボタンを押しても動かないといった状況に陥ってしまいました。
254
+
255
+
256
+
257
+ ###追記
258
+
259
+ chromeのコンソールで以下を実行すると、データ自体は返ってきているもようです。
260
+
261
+ ```
262
+
263
+ $.ajax({
264
+
265
+ url:"https://itunes.apple.com/search?", // 通信先のURL
266
+
267
+ type:"GET", // 使用するHTTPメソッド
268
+
269
+ data: {
270
+
271
+ term: "Ladygaga" ,
272
+
273
+ country: 'jp' ,
274
+
275
+ media: 'music' ,
276
+
277
+ entity: 'album' ,
278
+
279
+ lang: 'ja_jp',
280
+
281
+ limit: '10'
282
+
283
+ },
284
+
285
+ timespan:1000 // 通信のタイムアウトの設定(ミリ秒)
286
+
287
+
288
+
289
+ // 2. doneは、通信に成功した時に実行される
290
+
291
+ // 引数のdata1は、通信で取得したデータ
292
+
293
+ // 引数のtextStatusは、通信結果のステータス
294
+
295
+ // 引数のjqXHRは、XMLHttpRequestオブジェクト
296
+
297
+ }).done(function(data) {
298
+
299
+ var result = data.results[0];
300
+
301
+ $('#artistname').val(result.artistName)
302
+
303
+
304
+
305
+ // 3. キーを指定して値を表示
306
+
307
+ $("#span4").text(data1["form"]["cs1"]);
308
+
309
+
310
+
311
+ // 4. JavaScriptオブジェクトをJSONに変換
312
+
313
+ var data2 = JSON.stringify(data1);
314
+
315
+ console.log(data2); //コンソールにJSONが表示される
316
+
317
+
318
+
319
+ // 5.JSONをJavaScriptオブジェクトにし、
320
+
321
+ // キーを指定して値(httpbin.org)を表示
322
+
323
+ var data3 = JSON.parse(data2);
324
+
325
+ $("#span5").text(data3["headers"]["Host"]);
326
+
327
+
328
+
329
+ // 6. failは、通信に失敗した時に実行される
330
+
331
+ }).fail(function(jqXHR, textStatus, errorThrown ) {
332
+
333
+ $("#span1").text(jqXHR.status); //例:404
334
+
335
+ $("#span2").text(textStatus); //例:error
336
+
337
+ $("#span3").text(errorThrown); //例:NOT FOUND
338
+
339
+
340
+
341
+ // 7. alwaysは、成功/失敗に関わらず実行される
342
+
343
+ }).always(function(){
344
+
345
+ $("#span6").text("complete");
346
+
347
+
348
+
349
+ });
350
+
351
+
352
+
353
+ ```
354
+
355
+ 以下スクショ
356
+
357
+ ![イメージ説明](e8e068abe637cf8dd9edf24840de7679.png)

1

タグを追加

2019/05/20 13:53

投稿

natecosan
natecosan

スコア23

test CHANGED
File without changes
test CHANGED
File without changes