Mam nastepuajcy problem:
Pobieram dane z JSON API, alertuje je - dziala tak jak chce.
Gdy przekazuje je do populateAvailability() to pierwszy parametr przekazuje wszytskie dane na raz, a 3 pozostale sa puste.
Dlaczego tak jest? I czy robie to poprawnie?
function populateAvailability
(Date, RoomTypeCode
, ContractCode
, Quantity
) { $
("#result").append
("Date: " + Date + "<br /> Room: " + RoomTypeCode
+ "<br /> Contract: " + ContractCode
+ "<br /> Quantity: " + Quantity
+ "<br /><br /><br />"); }
function getContract(yourAPIKey, contractCode, startDate, endDate) {
var availabilityEnquiry = "http://apiurl/api/availability?apiKey=" + yourAPIKey + "&contractCode=" + contractCode + "&startDate=" + startDate + "&endDate=" + endDate;
//alert(availabilityEnquiry);
//var APICallback = callApiForContract();
//populateAvalaiability(APICallback);
$.ajax({
url: availabilityEnquiry,
type: 'GET',
dataType: "jsonp",
jsonp: "callback",
jsonpCallback: "jsonpCallback3",
complete: function (response, responseCode) {
//console.log(response); console.log(responseCode);
//alert("complete");
},
success: function (json) {
$
.each(json
, function (index
, value
) { populateAvailability
(this
.Date + this
.RoomTypeCode
+ this
.ContractCode
+ this
.Quantity
); alert
("this.Date : " + this
.Date); // tutaj pokazuje porawnie pobrana date alert("this.RoomTypeCode : " + this.RoomTypeCode); // tutaj rodzaj pokoju - ok
alert("this.ContractCode : " + this.ContractCode); - tez ok
alert("this.Quantity : " + this.Quantity); - tez ok
});
}
});
}
var startDate = "2012-07-23";
var endDate = "2012-07-30";
function getHotelInfo(yourAPIKey) {
var enquiry = "url" + yourAPIKey;
//alert(enquiry);
$.ajax({
url: enquiry,
type: 'GET',
dataType: "jsonp",
jsonp: "callback",
jsonpCallback: "jsonpCallback2",
complete: function (response, responseCode) {
//console.log(response); console.log(responseCode);
//alert("complete");
},
success: function (json) {
$
.each(json
.Contracts
, function (index
, contract
) { getContract(yourAPIKey, contract.ContractCode, startDate, endDate);
});
}
});
}