3

入力フィールドの値を取得し、値を imdbapi.org に送信し、返された JSON を処理する必要がある次のコードがあります。入力フィールドの値を示す要素を含めましたが、文字列によっては文字列が途切れてしまいます。このテストケースを見る

$("form > input#movname").keyup(function() {
    var inputval = encodeURI($("form > input").val());
    $.getJSON('http://imdbapi.org/',
    {
        title: inputval,
        plot: "none",
        limit: "5"
    },
    function(data) {
        var items = [];
        $.each(data, function(key, val) {
            items.push('<li id="'+val.imdb_id+'">');
            items.push('<img src="'+encodeURI(val.poster)+'" />');
            items.push('<strong class="title">'+val.title+'</strong><br />');
            items.push('<div>'+val.rated.replace("_"," ")+'</div>');
            items.push('</li>');
        });
        items.push('<li id="debug">');
        items.push('<img src="src/nocover.png" />');
        items.push('<strong class="title">'+$("form > input").val()+'</strong><br />');
        items.push('</li>');
        var html = items.join('');
        $("#suggestions").html("");
        $('<ol/>', {
            'class': 'moviessuggestions',
            html: html
        }).appendTo('#suggestions');
    });
});
4

1 に答える 1

0

不要のようlimitです(使い方を間違えた?)、使用してください

{
    title: inputval,
    plot: "none"
}

そしてそれはうまくいきます。

于 2012-12-11T11:23:30.997 に答える