0

json から "city" などのパラメータを解析するにはどうすればよいですか?

次のような URL があります: http://api.db-ip.com/addrinfo?addr=8.8.8.8&api_key=key、これは私にこれを返します:

{
    "address":"8.8.8.8",
    "country":"US",
    "stateprov":"California",
    "city":"Mountain View"
}

<input type>都市 (または国) 変数を に適用して、訪問者に場所に関する情報を表示したいと考えています。

4

2 に答える 2

1

その JSON オブジェクトをロードして「city」フィールドにアクセスするだけの場合は、jQuery のgetJSONメソッドを使用して、応答でネイティブ JS オブジェクトを取得します。

$.getJSON( "http://api.db-ip.com/addrinfo?addr=8.8.8.8&api_key=key", function(data) {
   // do something with data.city;
});

ただし、あなたの場合、クロスドメイン JSON リクエストを作成しようとしています - 許可されていません。db-ip.com では許可されていないため、PHP を使用してリクエストをプロキシする必要があります。

サーバーに「dbip.php」をプロキシとして設定します(http://jquery-howto.blogspot.com/2009/04/cross-domain-ajax-querying-with-jquery.htmlを参照)

次に、自分のサーバーで dbip.php から JSON をロードするだけで、db-ip.com にクエリを実行します。ブラウザーが行う AJAX 要求がドメイン名をまたがらないため、ブラウザーは満足しています。

于 2013-09-16T15:28:23.747 に答える
0
var response={
 "address":"8.8.8.8",
 "country":"US",
 "stateprov":"California",
 "city":"Mountain View"
};
$("#city").val(response.city);
于 2013-09-16T15:25:10.103 に答える