###前提・実現したいこと
javascriptでapiを使って簡単なサイトを作ってみようとしたのですが、どうやらjsonpデータを受け取れていないようです。
jQueryでコーディングした場合はできましたので、zipcloud自体には問題はないはずです(当たり前ですが)
簡単なサイトとは具体的には、郵便番号を入力し、それに対応する住所をapiを使って持って来て、それを表示するというものです。
###発生している問題・エラーメッセージ
コンソールに表示されたエラー
js1.js:12 GET https://zipcloud.ibsnet.co.jp/api/search?zipcode=113-0043&callback=jsonData net::ERR_CONNECTION_CLOSED (anonymous) @ js1.js:12
###該当のソースコード
html
1<DOCTYPE html> 2<html> 3 <head> 4 <link rel="stylesheet" href="stylesheet.css" type="text/css"> 5 <script type="text/javascript" src="js1.js"></script> 6 </head> 7 <body> 8 <h3>Address Search</h3> 9 <label>Postal Code<input id="postalcode" type="text" 10 size="13" maxlength="8" placeholder="example: xxx-xxxx"></label> 11 <button id="btn">Search</button> 12 <div id="result"> 13 <p><label>Prefectures<input id="pref" type="text" size="6"></label></p> 14 <p><label>Cities<input id="city" type="text" size="6"></label></p> 15 <p><label>Street address<input id="saddress" type="text"></label></p> 16 </div> 17 </body> 18</html>
javascript
1document.addEventListener("DOMContentLoaded", function () { 2var btn = document.getElementById('btn'); 3btn.addEventListener('click', function() { 4 var postalcode = document.getElementById('postalcode'); 5 var pref = document.getElementById('pref'); 6 var city = document.getElementById('city'); 7 var address = document.getElementById('saddress'); 8 var script = document.createElement('script'); 9 10 script.src = "https://zipcloud.ibsnet.co.jp/api/search?zipcode=" 11 + postalcode.value + "&callback=jsonData"; 12 document.body.appendChild(script); 13 document.body.removeChild(script); 14}) 15}) 16 17function jsonData(data) { 18 pref.value = data.result[0].address1; 19 city.value = data.result[0].address2; 20 address.value = data.result[0].address3; 21}
css
1#result { 2 margin-top: 30px; 3}
###補足情報(言語/FW/ツール等のバージョンなど)
コードは上から順に
sample.html
js1.js
stylesheet.css
となっております。
回答よろしくお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/07 00:35