首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用JQuery存储从URL获取的JSON值?

如何使用JQuery存储从URL获取的JSON值?
EN

Stack Overflow用户
提问于 2018-08-06 01:47:09
回答 5查看 1.7K关注 0票数 0

我是JQuery的新手。我正在尝试开发一个用于检查PNR的小型旅游网站。我目前使用的是其中一家旅游公司提供的API。只要我们点击API Url,浏览器就会以JSON格式显示结果。

我使用的是JQuery,JS和HTML。我想知道如何将命中API时检索到的JSON值(字符串格式)存储在一个变量中,并在以后的脚本中使用它。

PS:虽然我在Stackoverflow中找到了很多答案,但没有一个结果是有效的。请提供适当的值。

示例代码:(我使用一个文本框和按钮)

代码语言:javascript
复制
    <script>
function search_pnr(){
var pnr = $('#input_pnr').val();
var result;
var url = "http://api website/pnr"+pnr;

//Suggest the code here, to fetch the result from url and store in the variable result.

</script>

<input type="text" placeholder="Enter PNR" id ="input_pnr"/>
<input type="button" value="Search PNR" onclick="search_pnr()"/>

下面是从服务器获取的JSON值

代码语言:javascript
复制
{"to_station": {"lng": 77.2888291, "name": "ANAND VIHAR TERMINAL", "lat": 28.6118176, "code": "ANVT"}, "total_passengers": 1, "pnr": "6717552286", "journey_class": {"name": null, "code": "3A"}, "train": {"classes": [{"available": "N", "name": "SECOND AC", "code": "2A"}, {"available": "Y", "name": "THIRD AC", "code": "3A"}, {"available": "N", "name": "SECOND SEATING", "code": "2S"}, {"available": "N", "name": "FIRST AC", "code": "1A"}, {"available": "Y", "name": "AC CHAIR CAR", "code": "CC"}, {"available": "N", "name": "FIRST CLASS", "code": "FC"}, {"available": "N", "name": "3rd AC ECONOMY", "code": "3E"}, {"available": "N", "name": "SLEEPER CLASS", "code": "SL"}], "days": [{"code": "MON", "runs": "N"}, {"code": "TUE", "runs": "Y"}, {"code": "WED", "runs": "N"}, {"code": "THU", "runs": "Y"}, {"code": "FRI", "runs": "N"}, {"code": "SAT", "runs": "Y"}, {"code": "SUN", "runs": "N"}], "number": "22405", "name": "BGP-ANVT GARIB RATH"}, "from_station": {"lng": 86.9828131, "name": "BHAGALPUR", "lat": 25.2494829, "code": "BGP"}, "passengers": [{"booking_status": "CNF/G12/36/GN", "no": 1, "current_status": "CNF/-/0/GN"}], "reservation_upto": {"lng": 77.2888291, "name": "ANAND VIHAR TERMINAL", "lat": 28.6118176, "code": "ANVT"}, "response_code": 200, "boarding_point": {"lng": 86.9828131, "name": "BHAGALPUR", "lat": 25.2494829, "code": "BGP"}, "debit": 3, "doj": "25-08-2018", "chart_prepared": false}

此外,还可以帮助您了解如何读取给定JSON中的对象和数组。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2018-08-06 01:56:56

您可以使用ajax从url获取结果。

代码语言:javascript
复制
var result;
var url = "http://api website/pnr"+pnr;
$.ajax
({
    url: url,
    type: 'GET',
    dataType: 'json',
    success: function(data)
    {
        result = data;
        alert(JSON.stringify(data));
    }
});
票数 1
EN

Stack Overflow用户

发布于 2018-08-06 01:57:27

您只需要解析JSON以及如何读取每个对象。这应该会给你一个好的开始

代码语言:javascript
复制
$.ajax({
    type: "GET",
    url: "http://api_website/pnr"+pnr,
    data: data,
    success: function(resultData) { 
        console.log(resultData);

        var to_station = resultData.to_station;
        var trains = resultData.train;
        var passengers = resultData.passengers;

        alert("Station Name: "to_station.name);
        alert("Passengers: "passengers.booking_status);


    },
    error(function() { 
        alert("Something went wrong"); 
    }
});

你可以阅读更多关于how to read JSON here的内容。

票数 1
EN

Stack Overflow用户

发布于 2018-08-06 01:58:16

代码语言:javascript
复制
$.ajax({
  method: "GET",
  url: url
})
  .done(function( data ) {
    console.log(data)
    // see what properties you need from data object and save it to variable
    var data = data
  });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51696828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档