Ajax
일반적으로 페이지를 새로 고치지 않고도 서버나 클라이언트에서 데이터를 로드할 수 있습니다. 물론 이러한 데이터의 형식은 다양합니다. Ajax
通俗来讲即不需要刷新页面即可从服务器或客户端上加载数据,当然这些数据的格式是多种多样的。
我们通常使用加载 HTML
的方法来加载 HTML
片段,并插入到指定位置,假设当前页面为:
<p></p> <button>load</button>
同目录下的 test.html
文件内容为:
<span>test</span>
我们可以使用 load
方法来加载 HTML
,将其绑定到按钮的点击事件上:
$('button').click(function() { $('p').load('test.html'); });
点击按钮后:
JSON
即 <a href="http://www.php.cn/wiki/48.html" target="_blank">Javascript</a> Object Notation
,直译过来即 Javascript
对象表示法,因此它能很方便地表示和传输数据,它规定键和值都必须包含在双引号内,且函数为非法 JSON
值。
{ "name": "stephenlee", "sex": "male" }
将上述 JSON
数据保存在 test.json
文件内。我们可以使用 getJSON
方法加载 JSON
数据,同样将其绑定在按钮的点击事件上:
$('button').click(function() { $.getJSON('test.json'); });
由于 getJSON
方法是作为 jquery
的全局对象而定义的,因此这里需要使用 $
来调用该方法。这里的 $
指的是全局 jQuery
对象,而不是 $()
所指的个别 jQuery
对象。因此我们也称 getJSON
函数为全局函数。
但我们会发现上述代码只是获取了 JSON
数据,但看不出任何效果,这里我们可以使用 getJSON
方法的第二参数作为回调函数来测试效果:
$('button').click(function() { $.getJSON('test.json', function(data) { console.log(data); $.each(data, function(index, content) { console.log(content); }) }); });
点击按钮后,我们来看下 console
内的输出:
这里的 each
函数的第一个参数可以接收数组或对象,第二个参数为值回调函数,将每次循环中数组或对象的当前索引和值做为参数。
有时候我们不希望在页面初次加载时就加载所有的 JS
文件,而是动态地根据需求来加载,假设当前目录下有一个 JS
文件,内容为一个简单的 alert
:
$(function() { alert('test');// })
我们可以使用全局函数 getScript
来加载该文件,同样绑定到按钮的点击事件上:
$('button').click(function() { $.getScript('test.js'); });
点击按钮后,加载 test.js
文件,并成功触发 alert
。
对 XML
的加载操作与 JSON
类似,因为 XML
文档的作用也是与数据存储相关,在同目录下创建 text.xml
文件,内容为:
<person> <name>stephenlee</name> <sex>male</sex> </person>
加载 XML
文档可以直接使用 get
方法,为什么看上去像一个默认方法,这个可以根据 AJAX
的全称看出端倪 – Asynchronous JavaScript And XML
。
同样将其绑定在按钮点击事件上:
$('button').click(function() { $.get('test.xml', function(data) { console.log(data); }); });
查看 console
结果为:
这里需要注意,如果 XML
HTML
조각을 로드하고 지정된 위치에 삽입하기 위해 HTML
을 로드하는 방법을 사용합니다. 페이지는 🎜rrreee 🎜 🎜🎜같은 디렉터리에 있는 test.html
파일의 내용은 다음과 같습니다. 🎜rrreee🎜 load
메소드를 사용하여 HTML를 바인딩하고 버튼에 <a href="http://www.php.cn/php/php-tp-incident.html" target="_blank">event</a>를 클릭하세요. 🎜rrreee🎜 버튼 클릭 후: 🎜 🎜<img src="https://img.php.cn/upload/article/000/001/506/208dda6825aada072684af2851c039ee-1.jpg" alt="jQuery Ajax 작업 세부 사항 (1) - 데이터 로딩"> 🎜<h2>JSON 로드</h2>🎜<code>JSON
즉, <a href="http://www.php.cn/wiki/48.html"> Javascript</a> 객체 표기법
, 말 그대로 Javascript
객체 표기법으로 번역되므로 데이터를 쉽게 표현하고 전송할 수 있습니다. 큰따옴표로 묶어야 하며 함수는 잘못된 JSON
값입니다. 🎜rrreee🎜위의 JSON
데이터를 test.json
파일에 저장하세요. getJSON
메서드를 사용하여 JSON
데이터를 로드하고 이를 버튼의 클릭 이벤트에 바인딩할 수도 있습니다. 🎜rrreee🎜getJSON
이후 메소드는 jquery
의 전역 객체에 의해 정의되므로 이 메소드를 호출하려면 $
를 사용해야 합니다. 여기서 $
는 $()
가 참조하는 개별 jQuery
개체가 아니라 전역 jQuery
개체를 나타냅니다. 따라서 getJSON
함수 전역 함수도 호출합니다. JSON
데이터만 가져오며 아무런 효과도 볼 수 없습니다. 여기서는 getJSON
메서드의 두 번째 매개변수를 다음과 같이 사용할 수 있습니다. 효과를 테스트하기 위한 콜백 함수: 🎜rrreee🎜버튼을 클릭한 후 살펴보겠습니다. 콘솔 출력
에서: 🎜🎜🎜🎜여기서 each
함수의 첫 번째 매개변수는 배열이나 객체를 받을 수 있고, 두 번째 매개변수는 값 콜백 함수입니다. 각 루프의 배열 또는 객체 현재 색인 및 값이 매개변수로 사용됩니다. 🎜JS
파일을 로드하고 싶지 않지만 요청에 따라 동적으로 로드하고 싶은 경우가 있습니다. 현재 디렉터리 JS
파일, 콘텐츠는 간단한 경고
입니다. 🎜rrreee🎜전역 함수 getScript
를 사용하여 파일을 로드할 수 있으며 버튼에 바인딩합니다. 클릭 이벤트에서: 🎜rrreee🎜버튼을 클릭하면 test.js
파일이 로드되고 alert
가 성공적으로 트리거됩니다. 🎜XML
의 로드 작업은 JSON
과 유사합니다. 데이터 저장 관련, 콘텐츠와 동일한 디렉터리에 text.xml
파일을 만듭니다. 🎜rrreee🎜 XML
문서를 로드하면 get
를 직접 사용할 수 있습니다. > 메소드. AJAX
– Asynchronous JavaScript And XML
의 전체 이름에서 볼 수 있는 기본 메소드처럼 보입니다. console
결과는 다음과 같습니다. 🎜🎜🎜🎜XML의 형식인 경우 여기에서 주의해야 합니다. code> document Error, 오류는 보고되지 않지만 콜백 함수는 실행되지 않습니다. 🎜
위 내용은 jQuery Ajax 작업 구문 분석 (1) 데이터 로딩의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!