Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在淘汰MVC中删除更改时的Infinity Ajax请求_Javascript_Jquery_Ajax_Asp.net Mvc_Knockout.js - Fatal编程技术网

Javascript 在淘汰MVC中删除更改时的Infinity Ajax请求

Javascript 在淘汰MVC中删除更改时的Infinity Ajax请求,javascript,jquery,ajax,asp.net-mvc,knockout.js,Javascript,Jquery,Ajax,Asp.net Mvc,Knockout.js,我正在我的项目中使用淘汰MVC。当下拉列表更改时,我尝试将viewModel传递给。但是,当我多次尝试此方法调用时,警报“ok”会调用continuesley。谁能帮我一下吗 $(function () { $('#rmch').change(function () { $.ajax({ url: '@Url.Action("DropChange", "Home")', type: 'POST', data: ko.map

我正在我的项目中使用淘汰MVC。当下拉列表更改时,我尝试将viewModel传递给。但是,当我多次尝试此方法调用时,警报“ok”会调用continuesley。谁能帮我一下吗

$(function () {
  $('#rmch').change(function () {             
    $.ajax({
      url: '@Url.Action("DropChange", "Home")',
      type: 'POST',
      data: ko.mapping.toJSON(viewModel),
      dataType: "json",
      contentType: "application/json; charset=utf-8",
      success: function (data) {
        if (data.redirect) {
          location.href = resolveUrl(data.url);
        }
        else {
          //ko.applyBindings(viewModel, document.getElementById("p_scentsFH"));
          alert("Ok");
          ko.mapping.fromJS(data, viewModel);
        }
      },
      error: function (error) {
       alert("There was an error posting the data to the server: " + error.responseText);
      },
    });   
  });    
});
我的Json方法
public JsonResult DropChange(HotelModel hotelmod)
{
//hmodel.RoomModel=新列表();

//对于(int i=1;i我认为当重定向没有发生时,视图模型绑定会导致下拉列表值发生更改,因此更改下拉列表事件会一次又一次地触发。请确保您没有从ajax调用更改下拉列表中的选定项

public JsonResult DropChange(HotelModel hotelmod)
{
  //hmodel.RoomModel = new List<RoomModel>();
  //for (int i = 1; i <= hmodel.NoOfRooms; i++)
  //{
  //    hmodel.RoomModel.Add(new RoomModel { adultsDrp = ListItems.GetList(1, 6), childDrop = ListItems.GetList(0, 5) });
  //    //hmodel.RoomModel.Add(new RoomModel { });
  //}
  var jjj = JsonConvert.SerializeObject(hotelmod);
  return Json(hotelmod);
}
<div class="search-tab-content">
  <div class="tab-pane fade active in" id="hotels-tab">
    <form id="searchfrm">
      <div class="title-container">
        <h2 class="search-title">Search and Book Hotels</h2>
        <p>We're bringing you a new level of comfort.</p>
        <i class="soap-icon-hotel"></i>
      </div>
      <div class="search-content">
        <h5 class="title">Where</h5>
        <label>Your Destination</label>
        @ko.Html.TextBox(m => m.Destination, new { @class = "input-text full-width", @placeholder = "Any destination, country, city code" })
        @ko.Html.Hidden(new { @Id = "DesCode" }).Value(m => m.DesCode)
        <hr>
        <h5 class="title">When</h5>
        <div class="row">
          <div class="col-xs-4">
            <label>Check In</label>
            <div class="datepicker-wrap">
            @ko.Html.TextBox(m => m.CheckInDate, new { @class = "input-text full-width" })
          </div>
        </div>
        <div class="col-xs-4">
          <label>Check Out</label>
          <div class="datepicker-wrap">
            @ko.Html.TextBox(m => m.CheckOutDate, new { @class = "input-text full-width" })
          </div>
        </div>
        <div class="col-xs-4">
          <label>ROOMS</label>
          <div class="selector">
            @ko.Html.DropDownList(m => m.RoomList, new { @class = "full-width jkl", @id = "rmch" }, "Text", "Value").Value(m => m.NoOfRooms)
          </div>
        </div>
      </div>
      <hr>
      <div id="p_scentsFH">
        @using (var rmModel = ko.Foreach(m => m.RoomModel))
        {      
          <h5 class="title">Room 1</h5><div class="row">                                                    
          <div class="col-xs-3">                                                        
            <label>ADULTS</label>
            <div class="selectorgen">
              @rmModel.Html.DropDownList(m => m.adultsDrp, new { @class = "full-width" },"Text","Value").Value(m=>m.adultscount)                                                            
            </div>                                                        
          </div>
          <div class="col-xs-3">                                               
            <label>KIDS</label>
            <div class="selectorgen">
              @rmModel.Html.DropDownList(m => m.childDrop, new { @class = "full-width" }, "Text", "Value").Value(m => m.childcount)                                                                                                                                                            
            </div>                                                        
          </div>                                                
          <div class="agecls">
            @using(var chage=rmModel.Foreach(m=>m.childage))
            { 
              <div class="col-xs-3">                                                        
                <label>Child</label>
                <div class="selectorgen">   
                  @chage.Html.DropDownList(m => m.ageDrop, new { @class = "full-width" },"Text","Value").Value(m=>m.Age)                                                                                              
                </div>
              </div>
            }
            </div>
          </div><hr>
        }
      </div>
      <button type="submit" class="full-width uppercase">Search Cheap Hotels</button>
    </div>
    }                   
    </form>
  </div>                     
</div>