AJAX(异步JavaScript和XML)是一种通过客户端和服务器之间的异步数据交换来创建无缝交互式网站的技术。 AJAX有助于与服务器进行通信或部分页面更新,而无需传统的页面刷新。
index.html $(文档).ready(函数(){ $("#mainnavi").load("/mainnav...</desc> <question vote="0"> <p>index.html</p> <pre><code> <head> <script type="text/javascript"> $(document).ready(function () { $("#mainnavi").load("/mainnavi.html"); }); </script> </head> <body> <div id="mainnavi"></div> </body> </code></pre> <p>mainnavi.html</p> <pre><code> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> </head> <body> <script type="text/javascript"> // 초기 진입 시 데이터 조회 btnHistorySearch(); btnManageSearch(); var selectedValue; var selectedProj; // 탭 메뉴 조회 컨트롤 $(function() { $('.tabcontent > .tabmenu').hide(); $('.tabnav a').click(function() { $('.tabcontent > .tabmenu').hide().filter(this.hash).show(); $('.tabnav a').removeClass('active'); $(this).addClass('active'); return false; }).filter(':eq(0)').click(); }); //조회 버튼 컨트롤 function btnControl(flag){ if(flag == 'history') { document.getElementById("btnModellist").style.display="none"; document.getElementById("btnModelHistory").style.display="block"; document.getElementById("btnAddProj").style.display="block"; document.getElementById("multipleLabel").style.display="none"; } else { document.getElementById("btnModellist").style.display="block"; document.getElementById("btnModelHistory").style.display="none"; document.getElementById("btnAddProj").style.display="none"; document.getElementById("multipleLabel").style.display="block"; } } // 조회 시 테이블 비동기 처리 로직 function btnHistorySearch(){ selectedValue = document.getElementById("selectProj"); selectedProj = selectedValue.options[selectedValue.selectedIndex].value; $(document).ready(function() { $.ajax({ type: "POST", url: "/history", data : { variable : selectedProj } , dataType : 'text', success: function(response) { // 서버에서 전달한 데이터를 사용하여 화면을 갱신한다. // ... $("#tabHistory").html(response); }, error: function(e) { console.log(e); } }); }); } // 조회 시 테이블 비동기 처리 로직 function btnManageSearch(){ console.log("test111 #####"); selectedValue = document.getElementById("selectProj"); selectedProj = selectedValue.options[selectedValue.selectedIndex].value; $(document).ready(function() { $.ajax({ type: "POST", url: "/manage", data : { variable : selectedProj } , dataType : 'text', success: function(response) { // 서버에서 전달한 데이터를 사용하여 화면을 갱신한다. $("#tabManage").html(response); //$("#tabManage").empty(); //document.querySelector('#tabManage').innerHTML = response; }, error: function(e) { console.log(e); } }); }); } // 모델파일 추가 버튼 function showPopupUpload() { let popupWidth = 600; let popupHeight = 200; let popupX = 150; let popupY = 150; //let popupX = (window.screen.width / 2) - (popupWidth / 2); //let popupY = (window.screen.height / 2) - (popupHeight / 2); window.open("/popupUpload", "", 'height='+popupHeight+', width='+popupWidth+', left='+ popupX + ', top='+ popupY); //window.open('', '', 'status=no, height=300, width=200, left='+ popupX + ', top='+ popupY); } </script> <div class="tab"> <ul class="tabnav"> <li><a href="#tabHistory" onclick="btnControl('history')">모델관리</a></li> <li><a href="#tabManage" onclick="btnControl('manage')">모델조회</a></li> </ul> <div class="btnDiv"> <select id="selectProj"> <option value="">전체</option> <option value="TIPP">TIPP</option> <option value="NFE">NFE</option> </select> <button type="button" id="btnModelHistory" class="btnSearch" onclick="btnHistorySearch()" >조회</button> <button type="button" id="btnModellist" class="btnSearch" onclick="btnManageSearch()" >조회</button> <button id="btnAddProj" class="btnAddProj" onclick="showPopupUpload()">추가</button> <label id="multipleLabel" class="multipleLabel"> <input id="multipleCheckbox" class="multipleCheckbox" type="checkbox"> <span id="multipleChecklabel">모델추가</span> </label> </div> <div class="tabcontent" id="tabcontent"> <div id="tabHistory" class="tabmenu"></div> <div id="tabManage" class="tabmenu"></div> </div> </div> </body> </code></pre> <p>管理.html</p> <pre><code> <!DOCTYPE html> <head> </head> <body> <script type="text/javascript"> console.log("manage test :: "); </script> <table id="datagrid_table_list" class="datagrid_table_list"> <thead> ... </thead> <tbody> ... </tbody> </table> </body> </html> </code></pre> <p>script标签中定义为type="module"的部分在服务器上来后第一次表现良好</p> <p>但是如果你用刷新或者按钮搜索的方式异步获取数据并绑定,是无法执行的。他们都调用相同的函数并使用它。</p> <p>祝您精神焕发或清理口水。必须重新启动无条件服务才能执行初始 1 well</p> <p>如果有人知道其余的人将无法进行活动,请告诉我,我将不胜感激</p> <p>强刷新或清除缓存</p> <p>强刷新或清除缓存</p> </question> </body></html>
我有一个读取控制器,它将 ViewData["Deposit"] 布尔值传递到视图中: public ActionResult HONewPay(int id = 0, int bk = 0, int uid = 0, bool deposit = false) { // ...
摆桌子; const show = (数据) => { table.innerHTML = 数据 .map(({id,name,email, gender,status}) => ` ${姓名} let table; const show = (data) => { table.innerHTML = data .map(({id,name,email, gender,status}) => `<tr> <td> ${name}</td> <td> <button class="more" data-id="${id}">View More</button></td> <td hidden id="email">${email}</td> <td hidden id="gender">${gender}</td> <td hidden id="status">${status}</td> </tr>`) .join(""); }; const load = () => { fetch("https://gorest.co.in/public/v2/users") .then(result => result.json()) .then(show); }; window.addEventListener("DOMContentLoaded", () => { table = document.getElementById('table'); table.addEventListener("click", (e) => { const tgt = e.target.closest("button"); if (!tgt) return; tgt.closest("tr").querySelectorAll("td").forEach(td => td.hidden = false); }) load(); }); 我想使用引导模式显示内容。电子邮件、性别和状态是隐藏的,只有在我单击查看更多按钮时才会显示。我希望使用引导模式显示这些。 只需从 Bootstrap 文档中复制一个 example modals 并将您的表格元素插入其中。您可能需要通过添加 modal-xl 和 modal-dialog-scrollable 类来自定义模式以显示大表格。或者,Bootstrap Accordion 可能比桌子更好用。 例子: 查看并运行代码以了解其工作原理。单击全页链接以获得更好的视图。 let table; const show = (data) => { table.innerHTML = data .map(({ id, name, email, gender, status }) => `<tr> <td> ${name}</td> <td> <button class="btn btn-light btn-sm" data-id="${id}">View</button></td> <td hidden id="email">${email}</td> <td hidden id="gender">${gender}</td> <td hidden id="status">${status}</td> </tr>`) .join(""); }; const load = () => { fetch("https://gorest.co.in/public/v2/users") .then(result => result.json()) .then(show); }; window.addEventListener("DOMContentLoaded", () => { table = document.getElementById('table'); table.addEventListener("click", (e) => { const tgt = e.target.closest("button"); if (!tgt) return; tgt.closest("tr").querySelectorAll("td").forEach(td => td.hidden = false); }) load(); }); <!-- Button trigger modal --> <button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal"> Launch demo modal </button> <!-- Modal --> <div class="modal modal-xl modal-dialog-scrollable fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h1 class="modal-title fs-5" id="exampleModalLabel">Users</h1> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <!-- Add user table here --> <table id="table" class="table table-light table-striped table-sm"> </table> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button> <button type="button" class="btn btn-primary">Save changes</button> </div> </div> </div> </div> <!-- Bootstrap 5 --> <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet"> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script> 只需从 Bootstrap 文档中复制一个 example modals 并将您的表格元素插入其中。您可能需要通过添加 modal-xl 和 modal-dialog-scrollable 类来自定义模式以显示大表格。或者,Bootstrap Accordion 可能比桌子更好用。 例子: 查看并运行代码以了解其工作原理。单击全页链接以获得更好的视图。 let table; const show = (data) => { table.innerHTML = data .map(({ id, name, email, gender, status }) => `<tr> <td> ${name}</td> <td> <button class="btn btn-light btn-sm" data-id="${id}">View</button></td> <td hidden id="email">${email}</td> <td hidden id="gender">${gender}</td> <td hidden id="status">${status}</td> </tr>`) .join(""); }; const load = () => { fetch("https://gorest.co.in/public/v2/users") .then(result => result.json()) .then(show); }; window.addEventListener("DOMContentLoaded", () => { table = document.getElementById('table'); table.addEventListener("click", (e) => { const tgt = e.target.closest("button"); if (!tgt) return; tgt.closest("tr").querySelectorAll("td").forEach(td => td.hidden = false); }) load(); }); <!-- Button trigger modal --> <button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal"> Launch demo modal </button> <!-- Modal --> <div class="modal modal-xl modal-dialog-scrollable fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h1 class="modal-title fs-5" id="exampleModalLabel">Users</h1> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <!-- Add user table here --> <table id="table" class="table table-light table-striped table-sm"> </table> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button> <button type="button" class="btn btn-primary">Save changes</button> </div> </div> </div> </div> <!-- Bootstrap 5 --> <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet"> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script> 未说明使用 Bootstrap 5 作为版本。很多示例代码引用自 Bootstrap 站点. 这里的方法是使用一个模态和交换数据,而不是每个记录一个模态。 将表格中的按钮替换为Bootstrap版本,但在数据属性中添加了一些记录数据。这样做是为了快速,但更好的选择是将数据放在一个对象中并通过 data-id. 引用它 <button type="button" class="btn btn-primary more" data-bs-toggle="modal" data-bs-target="#exampleModal" data-id="${id}" data-name="${name}" data-email="${email}" data-gender="${gender}" data-status="${status}"> View More </button> 添加引导模式 html <!-- Modal --> <div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h1 class="modal-title fs-5" id="exampleModalLabel">Modal title</h1> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div id="modalDynamicContent" class="modal-body"> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button> </div> </div> </div> </div> 最后添加 show.bs.modal 事件侦听器,以便在单击任何 View More 按钮打开模式时进行侦听。 const myModalEl = document.getElementById('exampleModal'); const myModalContent = document.getElementById('modalDynamicContent'); myModalEl.addEventListener('show.bs.modal', event => { // Button that triggered modal viewMoreButton = event.relatedTarget; // Get data id = viewMoreButton.dataset.id; email = viewMoreButton.dataset.email; gender = viewMoreButton.dataset.gender; status = viewMoreButton.dataset.status; myModalContent.innerHTML = ` <p> Email: <span id="email">${email}</span> </p> <p> Gender: <span id="gender">${gender}</span> </p> <p> Status: <span id="status">${status}</span> </p> ` }); let table; const show = (data) => { //console.table(data); table.innerHTML = data .map(({id,name,email, gender,status}) => `<tr> <td> ${name}</td> <td> <button type="button" class="btn btn-primary more" data-bs-toggle="modal" data-bs-target="#exampleModal" data-id="${id}" data-name="${name}" data-email="${email}" data-gender="${gender}" data-status="${status}"> View More </button> </td> <td hidden id="email">${email}</td> <td hidden id="gender">${gender}</td> <td hidden id="status">${status}</td> </tr>`) .join(""); }; const load = () => { fetch("https://gorest.co.in/public/v2/users") .then(result => result.json()) .then(show); }; window.addEventListener("DOMContentLoaded", () => { table = document.getElementById('table'); //table.addEventListener("click", (e) => { //const tgt = e.target.closest("button"); //if (!tgt) return; //tgt.closest("tr").querySelectorAll("td").forEach(td => td.hidden = false); //}) load(); }); const myModalEl = document.getElementById('exampleModal'); const myModalContent = document.getElementById('modalDynamicContent'); myModalEl.addEventListener('show.bs.modal', event => { // Button that triggered modal viewMoreButton = event.relatedTarget; // Get data id = viewMoreButton.dataset.id; email = viewMoreButton.dataset.email; gender = viewMoreButton.dataset.gender; status = viewMoreButton.dataset.status; myModalContent.innerHTML = ` <p> Email: <span id="email">${email}</span> </p> <p> Gender: <span id="gender">${gender}</span> </p> <p> Status: <span id="status">${status}</span> </p> ` }) <link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.0.2/css/bootstrap.min.css" rel="stylesheet"/> <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.2.3/js/bootstrap.min.js"></script> <table id='table'> </table> <div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h1 class="modal-title fs-5" id="exampleModalLabel">Modal title</h1> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div id="modalDynamicContent" class="modal-body"> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button> </div> </div> </div> </div>
HTTP 请求适用于 ajax 但不适用于 re-frame-http-fx
我硬编码了这些 console.logs 中返回的 id 和 token 的值,以便使用 cljs-ajax 对其进行测试。它按预期与 AJAX 一起工作,但不是通过 re-frame-http-fx。 (rf/reg-
我有一个问题,我想从列表中获取所有数据,所以我想循环选定项目中的每个数据并将其插入数据库, 目前它在我打印 i... 时返回这样的数据...
在表中使用ajax获取数据从 API 获取数据并使用 AJAX 显示在表格中
从 API 获取数据并使用 AJAX 显示在表格中 <pre><code><!DOCTYPE html> <html> <head> <title>Fetch data from API and display in table using AJAX</title> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> </head> <body> <h1>Data</h1> <table id="table" border="1"></table> <script> function load(){ fetch("https://gorest.co.in/public/v2/users") .then(result => result.json) .then(json => show(json)) } function show(data){ let table = document.getElementById('table'); for(let i=0; i< data.length; i++){ let obj = data[i]; console.log(obj); let row = document.createElement('tr'); let name = document. createElement('td'); id.innerHTML = obj. row.appendChild(name) table.appendChild(row) } } </script> </body> </html> </code></pre> <p>我需要从 url 中获取数据。我必须在表格中展示它。首先,我只需要用“查看更多”按钮显示用户名。单击查看更多时,我必须从与该特定用户名相关的另一个 api 获取数据。我写了几行代码,但它们不起作用。有什么建议吗? <pre><code>your text</code></pre></p> </question> <answer tick="true" vote="0"> <p>使用 <pre><code>$.append</code></pre> 代替 <pre><code>appenChild</code></pre></p> 可能更好 <p></p><div data-babel="false" data-lang="js" data-hide="false" data-console="true"> <div> <pre><code><!DOCTYPE html> <html> <head> <title>Fetch data from API and display in table using AJAX</title> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> </head> <body> <h1>Data</h1> <table id="table"> <tbody></tbody> </table> <script> async function load(){ let json = await( await fetch("https://gorest.co.in/public/v2/users") ).json() show(json) } function show(data){ for(let i=0; i< data.length; i++){ let obj = data[i]; $('#table tbody').append(` <tr> <td> ${obj.name} </td> <td> ${obj.email} </td> </tr> `) } };load() </script> </body> </html></code></pre> </div> </div> <p></p> </answer> </body></html>
使用 C# Razor Pages 返回 PartialView 导致错误:多个构造函数
在 C# Razor Pages 的帮助下,我尝试了几个小时将表作为 PartialView 返回。 首先我得到错误返回模型不等于预期模型。 我改变了视图模型和
使用 tailwind 和 Laravel 我在模态内构建了一个表单并尝试使用 ajax 提交。它已成功提交,但是当我第二次尝试提交数据时,它将同时提交第一个数据和第二个数据。
如何通过 ajax 请求填充复选框以在 razor 页面 mvc 上运行 RelatedUserAccessPermission?
我在 .NET core 7 MVC razor 页面上工作。我遇到问题,我无法通过对此函数 RelatedUserAccessPermission 使用 ajax 请求来填充复选框 Id StockTake 和 ShelfLabelPrint 下面的 URL 我在
Typo3 - 通过 Ajax/前端以编程方式创建页面和内容元素
有没有办法从无头前端通过 Ajax 以编程方式创建新页面或内容元素? 我只是想了解 Typo3 的可能性和限制。
我有一个脚本,我试图通过 AJAX 传递用户位置。 见下文: $(文档).ready(函数() { navigator.geolocation.getCurrentPosition((position) => { </desc> <question vote="0"> <p>我有一个脚本,我试图通过 AJAX 传递用户位置。</p> <p>见下文:</p> <pre><code><script> $(document).ready(function() { navigator.geolocation.getCurrentPosition((position) => { const p = position.coords; console.log(p.latitude, p.longitude); }) $.ajax({ url: 'nearest-me.php', data: { Lat: p.latitude }, type: 'POST', success: function(data) { $('#nearestMe').html(data); }, error: function() { $('#nearestMe').text('An error occurred'); } }); }); </script> </code></pre> <p>在跑步时,我看到了<pre><code>caught ReferenceError: p is not defined</code></pre></p> <p>控制台日志正确显示经度和纬度</p> </question> </body></html>
如何连接 jQuery html 字符串中的 django 模板变量以动态附加到主体
从表中,我可以获取用户的 ID,要获取用户的 first_name,我必须从另一个表中获取它,为了完成此任务,我遵循 related_name 方法。 例如, {{ data.custom_user.
我有一个 EJS 模板,它通过运行 for 循环包含在页面上。每个模板都有一个链接,单击该链接会切换显示/隐藏多个复选框。我正在尝试使用...
我正在通过 jQuery AJAX 调用调用 /download 端点。来自端点的响应是 base64 字符串。当我复制此响应并将其粘贴到在线 base64 到 PDF 转换器时,我得到了
我正在尝试通过打开模态引导程序来更新数据,并且在将数据从 AJAX 放入路由时出现错误 这是错误 'localhost:8000/nilaiUpdates/1 419(未知状态) 我厌倦了改变所以我...
How to response in ajax as php [关闭]
在这里输入图片描述 在此图像中,我们可以获得作为 php 变量的响应。 什么是可能的或不可能的? 我们可以获得作为 javascript 变量的响应,但我们可以获得作为 php 变量的响应
这是我在 php 中上传文件夹的代码,它工作得很好,但我想通过 php 文件中的 jquery ajax 调用来完成,所以任何人都可以帮助我我能做什么?因为这是我的大学项目...
我想从浏览器中获取请求URL,如图所示,并将其打印在屏幕上。我如何使用 codeigniter 4、PHP、js 执行此操作?
如何清除 javascript 文件中的 Checkmarx XSS 漏洞?
我在我们的项目中使用 append() 和 html(),Checkmarx 用于扫描漏洞,它报告 XSS 漏洞,所以我尝试使用纯 javascript 创建元素(我...
会话在 AJAX 请求后无法在 Laravel 10 中正确显示
我正在使用 Laravel 框架开发 Web 应用程序。我在应用程序的一部分中使用 Laravel 会话系统,并将其配置为将会话存储在数据库中。 我的问题...