2017-01-08 4 views
0

ニューヨークタイムズAPIを使用して検索エンジンを作成しています。ユーザーが入力した検索語句をJSON URLに含めるにはどうすればよいですか?今のところ、入力されたテキストの値ではなく、「searchTerm」という単語だけが追加されています。何か案は?これまでの私のコードの下に見つけてください:あなたは、パラメータとして"searchTerm"を使用している、ニューヨークタイムズAPI JSON

$(document).ready(function(nytapi) { 


$("#searchButton").click(function(search) { 

    search.preventDefault() 

    // Pick up search terms written in form 
    var searchTerm = $("#searchTerm").val().trim(); 

    // Pick up number of results selected by user 
    nResults = $("#recordsRetrieve").val(); 

    // Pick up start/end year 
    startYear = $("#startYear").val().trim(); 

    endYear = $("#endYear").val().trim(); 

    var url = "https://api.nytimes.com/svc/search/v2/articlesearch.json"; 

    url += '?' + $.param({ 
     'api-key': " ", 
     'q': "searchTerm" 

    }); 
    $.ajax({ 
     url: url, 
     method: 'GET', 
    }).done(function(result) { 
     console.log(result); 
    // $('#output').html(JSON.stringify(result)); prints object onto page 
    }).fail(function(err) { 
     throw err; 
    }); 

    // Test to see if values are working 
    // $("#output").html(searchTerm); 
    // $("#output").html(nResults); 
    // $("#output").html(endYear); 
    console.log(url); 


}); 

}); 

答えて

0

をまた

url += '?' + $.param({ 
    'api-key': "your api key", 
    'q': "searchTerm" 
}); 

url += '?' + $.param({ 
    'api-key': "your api key", 
    'q': searchTerm 
}); 

を変更、コードから機密情報を削除することをお勧めしますこのようなパブリックフォーラムに投稿するには、新しいapikeyを生成してください。 @charlietflコメントパー

、あなたもでしょう、あなたのAJAX呼び出し

var url = "https://api.nytimes.com/svc/search/v2/articlesearch.json"; 
$.ajax({ 
    url: url, 
    method: 'GET', 
    data: { 
    q: searchTerm, 
    'api-key': "[your key]" 
    } 
}).done(function(result) { 
    console.log(result); 
}).fail(function(err) { 
    throw err; 
}); 
+0

このため、手動で '$ .param'を使用する必要はありませんで、データのパラメータを渡す' data'オプションとjQueryなどのオブジェクトを渡すことができますそれを内部的に行う – charlietfl