>백엔드 개발 >PHP 튜토리얼 >Ajax는 동적으로 데이터를 로드하는 장점을 공유합니다.

Ajax는 동적으로 데이터를 로드하는 장점을 공유합니다.

小云云
小云云원래의
2017-12-26 11:22:321862검색

이 기사는 Ajax의 동적 데이터 로딩에 대한 작은 예를 주로 소개합니다. 관심 있는 친구들이 참고할 수 있기를 바랍니다.

머리말:

1. 이 에세이는 Ajax 동적 로딩의 예를 구현합니다.

2. .net MVC 프레임워크를 사용하여 구현되었습니다.

3. 이 예는 프런트엔드 및 백엔드 상호 작용에 중점을 두고 있으며 나머지는 축약되어 있습니다.

시작:

1. 컨트롤러 ActionResult 코드(페이지 표시에 사용)


    /// <summary>
    /// 电话查询页面
    /// </summary>
    /// <returns></returns>
    public ActionResult PhoneSearch(string sql)
    {
      phoneList=从数据库查询数据;
      ViewBag.phoneList = phoneList;
      return View();
    }

2. 프론트 페이지의 메인 코드

설명: 데이터를 표시하는 테이블과 그 안에 있는 필드입니다. 귀하의 모델과 동일해야 합니다. 구축된 모델이 일치합니다.


<table border="1" cellspacing="0" cellpadding="0" class="toLang" id="phoneTable">
              <tr>
                <th>序号</th>
                <th>公司</th>
                <th>部门</th>
                <th>小组</th>
                <th>姓名</th>
                <th>职位</th>
                <th>电话</th>
              </tr>
              <tbody id="todeListTBODY">
                @if (ViewBag.phoneList != null)
              {
                foreach (var item in ViewBag.phoneList)
                {
                  number = number + 1;
              <tr>
                <td>@number</td>
                <td>@item.Conpany</td>
                <td>@item.Department</td>
                <td>@item.Team</td>
                 <td>@item.Name</td>
                 <td>@item.Position</td>
                 <td>@item.PhoneNumber</td>
                  </tr>
                }
              }
              </tbody>
            </table>

3. 내 쿼리 조건


 <p style="display:block;float:left; width:100%; ">
          公司:
          <select class="InputTestStyle" id="company" onclick="initDeptSelect()">
            <option>==请选择公司==</option>
          </select>
          部门:
          <select class="InputTestStyle" id="department" onclick="initGroupSelect()">
            <option>==请选择公司==</option>
          </select>
          小组:
          <select class="InputTestStyle" id="group" onclick="QueryPhoneNum()">
            <option>==请选择公司==</option>
          </select>
 </p>

4. 쿼리 조건 초기화(회사를 예로 들어)

4.1 프런트엔드 JavaScript 코드


  //打开页面的时候执行
  window.onunload = initCompanySelect();
  //初始化“公司”下拉框
  function initCompanySelect()
  {
    $.ajax({
      type: &#39;POST&#39;,
      url: &#39;/Home/GetCompantListForPhone&#39;,
      dataType: &#39;json&#39;,
      data: { },
      success: function (data) {
        //1.清空这个下拉框的数据
        // $(&#39;#company option&#39;).remove();//也能成功实现
        $(&#39;#company&#39;).empty();
        $("#company").append($(&#39;<option>&#39; + &#39;==请选择公司==&#39; + &#39;</option>&#39;));
        //2.将返回值动态加载进下拉框,动态生成标签。
        for (i = 0; i < data.length;i++)
        {
          $("#company").append($(&#39;<option >&#39; + data[i].Conpany + &#39;</option>&#39;));
        }
      },
      error: function (XMLHttpRequest, textStatus, errorThown) {
        alert("操作失败!");
      }
    })
  }

4.2 초기화 드롭다운 상자 해당 ActionResult 코드


/// <summary>
/// 获取电话查询公司下拉数据
/// </summary>
/// <returns></returns>
[HttpPost]
public JsonResult GetCompantListForPhone()
{
  
  compantList = 从数据库获取这个下拉框数据的集合;
  return Json(compantList);
}

이 방법에 따라 다른 두 개의 드롭다운 상자가 완성된 후입니다. 조건에 따라 쿼리할 수 있습니다. 다음 두 가지는 함께 사용되는 JavaScript와 백그라운드 메서드입니다.

5. 쿼리를 백그라운드로 제출한 다음 반환된 세트를 기반으로 테이블을 다시 할당합니다.


//根据条件查询电话
  function QueryPhoneNum()
  {
    if ($(&#39;#group&#39;).val() == &#39;==请选择小组==&#39;)
    {
      return;
    }
    number = 0;
    $.ajax({
      type: &#39;POST&#39;,
      url: &#39;/Home/PhoneSearchSubmit&#39;,
      dataType: &#39;json&#39;,
      data: {
        company:$(&#39;#company&#39;).val(),
        dept: $(&#39;#department&#39;).val(),
        group: $(&#39;#group&#39;).val()
      },
      success: function (phoneList) {
        //1.清空这个表格的数据
        $(&#39;#todeListTBODY tr&#39;).remove();
        
        //2.将返回值动态加载进表格。
        $.each(phoneList, function (index, element) {
          number = number + 1;
          $(&#39;#todeListTBODY&#39;).prepend(function (i) {
            return "<tr>" +
               "<td>" +number +
               "<td>" + element.Conpany +
               "<td>" + element.Department +
               "<td>" + element.Team +
               "<td>" + element.Name +
               "<td>" + element.Position +
               "<td>" + element.PhoneNumber +
               "</tr>";
          })
        })
      },
      error: function (XMLHttpRequest, textStatus, errorThown) {
        alert("操作失败!");
      }
    })
  }

5.1 쿼리 데이터에 해당하는 ActionResult


/// <summary>
/// 电话查询
/// </summary>
/// <returns></returns>
[HttpPost]
public JsonResult PhoneSearchSubmit(string company, string dept, string group)
{
  phoneList = 根据条件查询数据;
  return Json(phoneList);
}

관련 권장 사항:

콤보 상자 예제의 동적 로딩에 대한 자세한 내용

JavaScript는 Ajax를 사용하여 CheckBox 체크 상자를 동적으로 로드합니다.

Java가 동적으로 로드된 코드 예제를 구현하는 방법

위 내용은 Ajax는 동적으로 데이터를 로드하는 장점을 공유합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.