-3

JSON内でインスタント検索機能を作ろうとしています。コードは正しいように見えますが、確実に機能しません。みんな見て、修正するのを手伝ってくれませんか?前もって感謝します。

http://jsfiddle.net/hMyr7/

4

3 に答える 3

3

jsfiddleでjQueryを有効にする必要がありました...

そうすると、サーバーはajaxリクエストに対して500サーバーエラーを返しているようです。

これをトラブルシューティングするためにできることは何もないため、サーバー側の応答を調査する必要があります。

于 2012-09-04T20:39:47.867 に答える
1

JSONP は、AJAX 呼び出しが受け取るデータを表します。次のようになります。

jsonCallback([{
    "id": 41,
    "title": "My city",
    "permalink": "http:\/\/mykolaiv.cityfacts.pro\/my-city\/",
    "content": "",
    "meta": {
        "ultimatum_layout": [""],
        "_edit_last": ["1"],
        "_edit_lock": ["1346784971:1"]
    },
    "excerpt": "",
    "date": "2012-09-04 18:26:50",
    "author": "oyeremchuk",
    "categories": [],
    "tags": [null]
}]);

最も外側のノードは配列です。その配列の最初の要素にアクセスするには、インデクサーを使用できます: response[0]. その場合の質問は、「データから何を求めているか」です。

あなたの js から判断すると、おそらく応答全体をループし、各アイテムからプルidしますtitlepermalinkこれはあなたのコールバックのために行うべきです:

    success: function(response) {
        $.each(response, function(i, item) {
            var data_id = item.id;
            var data_title = item.title;
            var data_viewCount = item.permalink;

            var final = "<div id='id'><div>" + data_id + "</div><div id='title'>" + data_title + "</div></div>";

            $("#results").append(final);

        });
    }

http://jsfiddle.net/hMyr7/15/ .

于 2012-09-04T21:03:40.973 に答える
0

JavaScript コンソールを確認しましたか?

"Uncaught TypeError: Cannot read property 'items' of undefined"-- JSON にdataorがないためです。data.items

変更してみる

if (response.data.items) {

if (response.data && response.data.items) {

少なくとも正常に失敗します。

http://jsfiddle.net/mblase75/hMyr7/2/

于 2012-09-04T20:32:31.697 に答える