0

最近は XML をよく使っていますが、今は JSON を使って練習しています。

私がやろうとしているのは、ボタンとテキスト ボックスを作成することです。ユーザーが郵便番号を入力すると、その郵便番号の情報が取得されます...

geonames.org からの JSON の使用

XML で独自のファイルを作成していたときは簡単でしたが、現在は実際の Web サイトと JSON を使用しようとしています。

これを行う方法を教えてください!感謝します!ありがとう。

4

2 に答える 2

0

まず第一に、HTMLはサーバーからのjson応答を処理できません。getまたはpostをjson形式でサーバーに送信し、json応答を返すことができますが、そのJSONメッセージを処理するにはHTML以外のものが必要です。ブラウザはXMLをフォーマットして表示できますが、JSONは表示できません(文字列として表示するだけです)。ブラウザでこれを行う最も簡単な方法は、JavaScriptを使用することです。このために、jqueryライブラリを使用することをお勧めします。

http://jquery.com

これは、返されたJSON文字列を処理するために最近使用したjqueryの例です。

$(document).ready(function() {

    $(".img a").on("click", function(event) {
        event.preventDefault();
        var item;
        if ((item= $(this).attr( 'href' ))=="saved") return false;
        $(this).html("<div style='line-height:4em '>Saved</div>");
        $(this).attr("href","saved");
        var action ="add";

        jqxhr = $.post("webservice.php", { action: action, color: item }, function(data) {
            var result=data.result;
            if (result=="saved") {
                self.html("<div>Saved</div>");
                self.attr("href","saved");
            }           
        }, "json")
        .error(function() {         
            alert("error: unable to contact web service"); 
        });
    });
}); 

このリクエストから返されるJSON文字列は{結果:保存済み}です。ご覧のとおり、データオブジェクトの一部として関連する配列にアクセスします。私の場合、data.resultはjson文字列からの結果の値を提供してくれました。

私の例は、アンカータグを使用して、Webサービス呼び出しで送信する値を渡すためのものであることに注意してください。あなたの場合、フォームを使用する必要があります。

于 2012-11-24T06:16:40.033 に答える
0

jeoqueryを使用している場合は、 UI サンプルの html ソースを参照してください。返された JSON を解析するために記述するカスタム コードを実装しようとしていないのと同じオートコンプリート ボックスが表示されます。以下のコードはあなたのために働くはずです:

<input class="input-large" id="city" type="text"/>

$("#city").jeoCityAutoComplete();
于 2012-11-24T06:45:55.803 に答える