ホームページ >バックエンド開発 >PHPチュートリアル >Ajaxで動的データロードの強みの共有を実現
この記事では主に 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: 'POST', url: '/Home/GetCompantListForPhone', dataType: 'json', data: { }, success: function (data) { //1.清空这个下拉框的数据 // $('#company option').remove();//也能成功实现 $('#company').empty(); $("#company").append($('<option>' + '==请选择公司==' + '</option>')); //2.将返回值动态加载进下拉框,动态生成标签。 for (i = 0; i < data.length;i++) { $("#company").append($('<option >' + data[i].Conpany + '</option>')); } }, error: function (XMLHttpRequest, textStatus, errorThown) { alert("操作失败!"); } }) }
4.2 初期化ドロップダウンActionResult コードに対応するボックス
/// <summary> /// 获取电话查询公司下拉数据 /// </summary> /// <returns></returns> [HttpPost] public JsonResult GetCompantListForPhone() { compantList = 从数据库获取这个下拉框数据的集合; return Json(compantList); }
他の 2 つのドロップダウン ボックスがこのメソッドに従って完了した後。条件に基づいてクエリを実行できます。次の 2 つは、JavaScript とバックグラウンド メソッドを組み合わせて使用します。
5. クエリをバックグラウンドに送信し、返されたセットに基づいてテーブルを再割り当てします。
//根据条件查询电话 function QueryPhoneNum() { if ($('#group').val() == '==请选择小组==') { return; } number = 0; $.ajax({ type: 'POST', url: '/Home/PhoneSearchSubmit', dataType: 'json', data: { company:$('#company').val(), dept: $('#department').val(), group: $('#group').val() }, success: function (phoneList) { //1.清空这个表格的数据 $('#todeListTBODY tr').remove(); //2.将返回值动态加载进表格。 $.each(phoneList, function (index, element) { number = number + 1; $('#todeListTBODY').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チェックボックスを動的にロードします
以上がAjaxで動的データロードの強みの共有を実現の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。