2015-11-18 5 views
0

Я вызываю qpx-поиск api и принимаю ответ , но формат ответа довольно сложный. У кого-то есть образец кода C# для форматирования результата qpx, например, демонстрационной страницы google qpx.Google QPX Api Format Response C#

ответ

0

Это поможет вам приблизиться. Во-первых, добавьте последнюю версию нокаута и knockout.mapping в свой каталог скриптов. (Если вы используете nuget, найдите карточку для нокаутов и установите ее. Вам нужно будет получить последнюю версию нокаута прямо с сайта нокаута по адресу http://knockoutjs.com/). Обязательно укажите эти сценарии в вашем _Layout.cshtml или прямо в своем представлении. Ниже представлены основные компоненты вида. Обратите внимание, что даже если вы упомянули, что вернешь ответ, я добавил пример вызова метода контроллера из JavaScript с помощью jQuery/AJAX. Я также использую bootstrap для макета. HTH.

var qpxResponse = {}; 
 

 
$(document).ready(function() { 
 
     //this is a button click event. Your button should have id of checkAir 
 
     $("#checkAir").click(function() { 
 
      $.ajax({ 
 
        method: "POST", 
 
        url: "@Url.Action(" 
 
        Replace with Method Name In Your Controller ", " 
 
        Replace - With - Controller.Home 
 
        for HomeController ")", 
 
        data: { 
 
        "request": { 
 
         "slice": [{ 
 
          "origin": "CLE", 
 
          "destination": "SFO", 
 
          "date": "2017-01-01' }], " 
 
          passengers ": { " 
 
          adultCount ": 1, " 
 
          infantInLapCount ": 0, " 
 
          infantInSeatCount ": 0, " 
 
          childCount ": 0, " 
 
          seniorCount ": 0 }, " 
 
          solutions ": 2, " 
 
          refundable ": false } } 
 
         }) 
 
    .done(function (response) { 
 
    console.log(response); 
 
    qpxResponse = ko.mapping.fromJS(response); //populate the flights 
 
    ko.applyBindings(qpxResponse); //using knockout to quickly map object to web page elements 
 

 
    }); 
 
}); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout.mapping/2.4.1/knockout.mapping.js"></script> 
 

 
<button id="checkAir">Submit</button> 
 

 
<div class="results"> 
 
    <div class="col-md-12"> 
 
    <h1>Results</h1> 
 
    </div> 
 
    <div id="tripOps" data-bind="foreach:trips.tripOption"> 
 
    <div class="col-md-12"> 
 
     <div class="col-md-1">Solution</div> 
 
     <div class="col-md-1" data-bind="text:$index() + 1"></div> 
 
     <div class="col-md-1 col-md-offset-1">Sale Price:</div> 
 
     <div class="col-md-8" data-bind="text:saleTotal"></div> 
 
    </div> 
 
    <div data-bind="foreach: slice"> 
 
     <div class="col-md-12"> 
 
     <div class="col-md-1 col-md-offset-1">Slice</div> 
 
     <div class="col-md-10" data-bind="text:$index() + 1"></div> 
 
     <div data-bind="foreach: segment"> 
 
      <div class="col-md-offset-2 col-md-1" data-bind="text:flight.carrier"></div> 
 
      <div class="col-md-9" data-bind="text:flight.number"></div> 
 
      <div data-bind="foreach: leg"> 
 
      <div class="col-md-offset-3 col-md-2" data-bind="text:origin"></div> 
 
      <div class="col-md-2" data-bind="text:departureTime"></div> 
 
      <div class="col-md-offset-1 col-md-2" data-bind="text:destination"></div> 
 
      <div class="col-md-2" data-bind="text:arrivalTime"></div> 
 
      </div> 
 
     </div> 
 
     </div> 
 
    </div> 
 
    </div> 
 
</div>

Смежные вопросы