简体   繁体   English

如何将具有可变URL地址的JSON API超链接返回值?

[英]How do I hyperlink JSON API return values with variable URL addresses?

I have an HTML/CSS search bar where people can type a keyword and, on click, my Open States JSON API code returns New Jersey state bills that match that keyword. 我有一个HTML / CSS搜索栏,人们可以在其中键入关键字,单击时,我的Open States JSON API代码将返回与该关键字匹配的新泽西州帐单。

Search Bar Screenshot 搜索栏截图

Screenshot of a Result 结果的屏幕截图

I want the bill titles that are returned to be hyperlinked to their page on the New Jersey state legislature site, but I can only find instructions for how to hyperlink a return with a static site. 我希望退回的账单标题超链接到新泽西州立立法机构网站上的页面,但是我只能找到有关如何将退货单与静态网站超链接的说明。

Here is my JavaScript code so far (with API key removed): 到目前为止,这是我的JavaScript代码(删除了API密钥):

    e.preventDefault();
    // console.log($("#billID").val());
    var billSearchValue = $("#billID").val();
    if(billSearchValue=='') 
    { 
        alert("Enter Desired Query Parameters");
    } else{
        // console.log(billSearchValue);
    }
    var searchQuery = "&q=" + billSearchValue;
    var baseUrl = "http://openstates.org/api/v1/bills/?state=nj";
    var apiKey = "";
    var apiKeyParam = "&apikey=";
    var apiKeyParams = apiKeyParam + apiKey;
    var urlJSON = baseUrl + searchQuery + apiKeyParam + apiKey;
    // console.log(urlJSON);
    $.getJSON(urlJSON, function (data) {
        var billsVar = [];
        $.each(data, function(key, val) {
            billsVar.push(val);
        });
        for (var i = 0; i < billsVar.length; i++) {
            var billList = "<li>Bill <ul class=\"ul-sub\">"
            var billTitle = "<li><strong>Bill Title</strong>: " + billsVar[i]['title'] + "</li>";
            var billCreatedAt = "<li><strong>Bill Created</strong>: " + billsVar[i]['created_at'] + "</li>";
            var billUpdatedAt = "<li><strong>Bill Updated</strong>: " + billsVar[i]['updated_at'] + "</li>";
            var billID = "<li><strong>ID</strong>: " + billsVar[i]['id'] + "</li>";
            var billChamber = "<li><strong>Bill Chamber</strong>: " + billsVar[i]['chamber'] + "</li>";
            var billState = "<li><strong>Bill State (Probably Don't Want/Need This)</strong>: " + billsVar[i]['state'] + "</li>";
            var billSession = "<li><strong>Bill Session</strong>: " + billsVar[i]['session'] + "</li>";
            var billType = "<li><strong>Bill Type</strong>: " + billsVar[i]['type'] + "</li>";
            var billSubjects = "<li><strong>Subjects</strong>: " + billsVar[i]['subjects'] + "</li>";
            var billBillID = "<li><strong>Bill ID</strong>: " + billsVar[i]['bill_id'] + "</li>";
            var billOutput = billList + billTitle + billCreatedAt + billUpdatedAt + billID + billChamber + billState + billSession + billType + billSubjects + billBillID + "</ul></li>";
            $("#jsonlist").append(billOutput);
        }
    });
})

}); });

After a bit of research I see that a bill hyperlink is like this: 经过一番研究,我发现帐单超链接是这样的:

http://openstates.org/nj/bills/{Bill Session}/{Bill ID}/

I can't test my code because I have no API key, but the solution could be something like: 我没有API密钥,因此无法测试我的代码,但是解决方案可能是这样的:

var billTitle = '<li><strong>Bill Title</strong>: '
    + '<a href="http://openstates.org/nj/bills/' + 
    billsVar[i]['session'] + '/' + billsVar[i]['bill_id'].split(' ').join('') + '/">'
    + billsVar[i]['title'] + '</a></li>';

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM