2017-07-05 11 views
2

私はAPIを使い始めたばかりで、GETリクエストをIP Geolocation APIにするのが難しいです。問題が自分のコードにあるのか、CodePenに関するものであるのかは分かりません(おそらく私のコードです)。JavaScript/jQuery:CodePen内でIPジオロケーションAPIを設定する

IP Geolocation APIページに掲載されている例から直接JavaScriptを受け取りました。私はそれが動作しているのを見た後にそれを修正しようとしていましたが、それはまったく動作しませんでした。私はhttp://https://の両方を含めるようにURLを修正しようとしました。

はJavaScript:

$(document).ready(function() { 

    $.getJSON("http://ip-api.com/json/?callback=?", function(data) { 
      var table_body = ""; 
      $.each(data, function(k, v) { 
       table_body += "<tr><td>" + k + "</td><td><b>" + v + "</b></td></tr>"; 
      }); 
      $("#GeoResults").html(table_body); 
     }); 

}); 

HTML:

<div class="weather"> 
    <div class="row title"> 
    <h1>weather</h2> 
    </div> 
    <div class="row icon"> 

    </div> 
    <div id = "GeoResults" class="row temp"> 
    <p class = "city">City here</p> 
    </div> 
</div> 

URL私CodePenへ:http://ip-api.com/docs/api:json

+0

ホープ[this](https://stackoverflow.com/questions/33507566/mixed-content-blocked-when-running-an-http-ajax-operation-in-an-https-page)は –

+0

に役立ちますapiはhttpを使用し、codepenはhttpsを使用します。httpsにURLを変更すると、httpsでサービスを公開しないため動作しません –

答えて

0

Codepenはしたくない。私が使用しようとしていますhttps://codepen.io/mattr8/pen/yXEMRM

API httpsのためにip-api.comで作業してください。 codepenはhttps経由で提供されるため、httpsでない要求はブロックされます。 http://ip-api.com/json/?callback=に行くと?あなたが到達しようとしている情報が表示されます。 https://ip-api.com/json/?callback=に行くと?エラーが表示されます。

リンク先のjsbinの例ではhttpsを使用していないため、正常に動作します。

この問題を解決するには、要求に対してhttpsではなくhttpを使用して、サービスまたは自分のマシンでサンプルを作成します。

関連する問題