>  기사  >  웹 프론트엔드  >  jQuery Ajax 작업 구문 분석 (1) 데이터 로딩

jQuery Ajax 작업 구문 분석 (1) 데이터 로딩

零下一度
零下一度원래의
2017-06-17 17:51:561354검색

Ajax 일반적으로 페이지를 새로 고치지 않고도 서버나 클라이언트에서 데이터를 로드할 수 있습니다. 물론 이러한 데이터의 형식은 다양합니다. Ajax 通俗来讲即不需要刷新页面即可从服务器或客户端上加载数据,当然这些数据的格式是多种多样的。

加载 HTML

我们通常使用加载 HTML 的方法来加载 HTML 片段,并插入到指定位置,假设当前页面为:

<p></p>
<button>load</button>

细说 jQuery Ajax操作篇(一) - 数据加载

同目录下的 test.html 文件内容为:

<span>test</span>

我们可以使用 load 方法来加载 HTML,将其绑定到按钮的点击事件上:

  $('button').click(function() {
    $('p').load('test.html');
  });

点击按钮后:

细说 jQuery Ajax操作篇(一) - 数据加载

加载 JSON

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 内的输出:

细说 jQuery Ajax操作篇(一) - 数据加载

这里的 each 函数的第一个参数可以接收数组或对象,第二个参数为值回调函数,将每次循环中数组或对象的当前索引和值做为参数。

加载 JS

有时候我们不希望在页面初次加载时就加载所有的 JS 文件,而是动态地根据需求来加载,假设当前目录下有一个 JS 文件,内容为一个简单的 alert

$(function() {
  alert('test');//
})

我们可以使用全局函数 getScript 来加载该文件,同样绑定到按钮的点击事件上:

  $('button').click(function() {
    $.getScript('test.js');
  });

点击按钮后,加载 test.js 文件,并成功触发 alert

加载 XML

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 结果为:

细说 jQuery Ajax操作篇(一) - 数据加载

这里需要注意,如果 XML

HTML

우리는 일반적으로 HTML 조각을 로드하고 지정된 위치에 삽입하기 위해 HTML을 로드하는 방법을 사용합니다. 페이지는 🎜rrreee 🎜jQuery Ajax 작업에 대한 세부 정보(1) - 데이터 Loading 🎜🎜같은 디렉터리에 있는 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🎜버튼을 클릭한 후 살펴보겠습니다. 콘솔 출력 에서: 🎜🎜세부 사항 on jQuery Ajax Operations (1) - Data loading🎜🎜여기서 each 함수의 첫 번째 매개변수는 배열이나 객체를 받을 수 있고, 두 번째 매개변수는 값 콜백 함수입니다. 각 루프의 배열 또는 객체 현재 색인 및 값이 매개변수로 사용됩니다. 🎜

JS 로드

🎜때로는 페이지가 처음 로드될 때 모든 JS 파일을 로드하고 싶지 않지만 요청에 따라 동적으로 로드하고 싶은 경우가 있습니다. 현재 디렉터리 JS 파일, 콘텐츠는 간단한 경고입니다. 🎜rrreee🎜전역 함수 getScript를 사용하여 파일을 로드할 수 있으며 버튼에 바인딩합니다. 클릭 이벤트에서: 🎜rrreee🎜버튼을 클릭하면 test.js 파일이 로드되고 alert가 성공적으로 트리거됩니다. 🎜

XML 로드

🎜 XML의 로드 작업은 JSON과 유사합니다. 데이터 저장 관련, 콘텐츠와 동일한 디렉터리에 text.xml 파일을 만듭니다. 🎜rrreee🎜 XML 문서를 로드하면 get를 직접 사용할 수 있습니다. > 메소드. AJAXAsynchronous JavaScript And XML의 전체 이름에서 볼 수 있는 기본 메소드처럼 보입니다.
마찬가지로 버튼 클릭 이벤트에 바인딩합니다. 🎜rrreee🎜View console 결과는 다음과 같습니다. 🎜🎜jQuery Ajax 작업에 대한 세부 정보(1) - 데이터 로딩🎜🎜XML의 형식인 경우 여기에서 주의해야 합니다. code> document Error, 오류는 보고되지 않지만 콜백 함수는 실행되지 않습니다. 🎜

위 내용은 jQuery Ajax 작업 구문 분석 (1) 데이터 로딩의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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