我是JQuery的新手。我正在尝试开发一个用于检查PNR的小型旅游网站。我目前使用的是其中一家旅游公司提供的API。只要我们点击API Url,浏览器就会以JSON格式显示结果。
我使用的是JQuery,JS和HTML。我想知道如何将命中API时检索到的JSON值(字符串格式)存储在一个变量中,并在以后的脚本中使用它。
PS:虽然我在Stackoverflow中找到了很多答案,但没有一个结果是有效的。请提供适当的值。
示例代码:(我使用一个文本框和按钮)
<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值
{"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中的对象和数组。
发布于 2018-08-06 01:56:56
您可以使用ajax从url获取结果。
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));
}
});
发布于 2018-08-06 01:57:27
您只需要解析JSON以及如何读取每个对象。这应该会给你一个好的开始
$.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的内容。
发布于 2018-08-06 01:58:16
$.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
});
https://stackoverflow.com/questions/51696828
复制相似问题