script.js
javascript
1$(document).ready(function () { 2 $('input[type=submit]').click(function () { 3 $.ajax({ 4 type: 'post', 5 url: "api.php", 6 dataType: 'json' 7 }) 8 .then( 9 function (data) { 10 console.log('success'); 11 alert(data); 12 }, 13 function () { 14 console.log("fail"); 15 }); 16 }); 17}); 18
api.php
php
1<?php 2header('Content-Type: application/json'); 3 4$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; 5echo json_encode($json);
index.html
html
1<html> 2 <head> 3 <meta charset='utf-8'> 4 </head> 5 <body> 6 <input type=submit /> 7 <script 8 src="https://code.jquery.com/jquery-3.2.1.js" 9 integrity="sha256-DZAnKJ/6XZ9si04Hgrsxu/8s717jcIzLy3oi35EouyE=" 10 crossorigin="anonymous"></script> 11 <script src="script.js"></script> 12 </body> 13</html>
HTMLのsubmitボタンを押すとapi.phpで設定されたjson形式のデータがalertで表示されるようにしたいのですが、このプログラムですとscript.jsのconsole.log('fail');が実行されてしまいます。
script.jsのdataTypeを指定しないとconsole.log('success')が実行されるのですが、alertで表示されるのはapi.phpのファイル内容全てになります。そのためapi.php側でjson形式のデータが送れてないのではないかと思うのですが、どうすればいいでしょうか
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/28 04:56