首先ajax(async javascript and xml)是用於前端與後端檔案例如xml或json之間的互動。他是一種非同步載入技術,代表你點擊某個載入事件是再也不用刷新整個頁面,而是發送局部請求,局部回應。由於AJAX不是完全前端,需要用到伺服器,所以在做實驗的時候必須把html檔案和xml或json放到伺服器部署的目錄之中,這裡我使用的是TOMCAT 7X。
先編輯一個簡單的JSON文件,並命名為json.json,如下:
[{ "key":"value"} ]
function showJson(){ var test; if(window.XMLHttpRequest){ test = new XMLHttpRequest(); }else if(window.ActiveXObject){ test = new window.ActiveXObject(); }else{ alert("请升级至最新版本的浏览器"); } if(test !=null){ test.open("GET","json.json",true); test.send(null); test.onreadystatechange=function(){ if(test.readyState==4&&test.status==200){ var obj = JSON.parse(test.responseText); for (var name in obj){ alert(obj[name].key); } } }; } } window.onload=function(){ showJson(); };</span>
1、使用AJAX,我們必須new一個XMLHttpRequest()的實例,在IE低版本瀏覽器中是ActiveXObject()。使用if語句判斷即可。
2、透過判斷readyState的互動狀態、status的互動狀態來觸發onreadystatechange事件。
這裡展開介紹readyState的4種取值情況:
(1)值為0:請求還沒有初始化,意思是還沒有開始open();
(2)值為1:請求已經初始化了但是還沒有發送,意思是還沒有send();
(3)值為2:請求已經發送了,後台正在處理。
(4)值為3:請求還在處理,但是部分資料可以用了,具體什麼意思我現在也不是很明白。
(5)值為4:後台伺服器對應完畢,也就是你現在隨時可以取得請求的資料。
但是當readyState==4時我們只能知道伺服器回應完畢,但還不知道伺服器有沒有找到我們要求的那個文件,這時就要引用status了。
這裡展開介紹一下status的幾個常見取值情況:
(1)200:找到了請求的檔案。
(2)404:找不到請求的檔案。
(3)500:伺服器出錯。
在同時滿足了readySate==4以及status==200時我們就可以得到我們想要的value了。
3、伺服器回傳的值是存在responseText物件裡面的。這時我們可以使用JSON.parse()來取得裡面的資料。
4、我們現在把JSON檔案裡的一整塊資料都取了出來,但如果想取到其中的某一個區塊值比如說:value,就必須用到遍歷,比如說for迴圈。這裡的for迴圈我使用了另一種形式for(var name in obj),這裡的意思是取得物件的值,存放在變數name裡面。因為JSON文件的結構就是由很多物件組成的。
5、如果是使用“GET”,則send()裡面的值為null。如果是POST,則需要傳具體的參數例如:send(name);
最後寫給剛接觸AJAX的同學。如何運行這段程式碼(配置AJAX環境)。
(1)首先你需要下載一個伺服器,我建議是TOMCAT。
(2)然後把包含有你html和json檔案部署(貼上)到Tomcat根目錄下的webapps資料夾裡。
(3)回到Tomcat根目錄,開啟bin資料夾,找到startup.bat。雙擊開啟Tomcat伺服器。
(4)打開瀏覽器,輸入http://localhost:8080/檢查Tomcat是否打開,如果出現404,有可能是8080埠被佔用了,這時候回到Tomcat根目錄下開啟conf資料夾找到server.xml文件,找到這段程式碼:Connector port="8080" ,把8080修改成8081或8082,重新在瀏覽器中輸入http://localhost:8081 /看看打開了Tomcat了沒。
#(5)在瀏覽器中輸入你的html檔案路徑,例如:http://localhost:8080/test/index.html 即可。
本文介紹了使用原生JS的AJAX讀取json全過程,更多相關內容請關注php中文網。
相關推薦:
#以上是原生JS的AJAX讀取json全過程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

404页面基础配置404错误是www网站访问容易出现的错误。最常见的出错提示:404notfound。404错误页的设置对网站seo有很大的影响,而设置不当,比如直接转跳主页等,会被搜索引擎降权拔毛。404页面的目的应该是告诉用户:你所请求的页面是不存在的,同时引导用户浏览网站其他页面而不是关掉窗口离去。搜索引擎通过http状态码来识别网页的状态。当搜索引擎获得了一个错误链接时,网站应该返回404状态码,告诉搜索引擎放弃对该链接的索引。而如果返回200或302状态码,搜索引擎就会为该链接建立索引

Scrapy是一个开源的Python爬虫框架,它可以快速高效地从网站上获取数据。然而,很多网站采用了Ajax异步加载技术,使得Scrapy无法直接获取数据。本文将介绍基于Ajax异步加载的Scrapy实现方法。一、Ajax异步加载原理Ajax异步加载:在传统的页面加载方式中,浏览器发送请求到服务器后,必须等待服务器返回响应并将页面全部加载完毕才能进行下一步操

ajax传递中文乱码的解决办法:1、设置统一的编码方式;2、服务器端编码;3、客户端解码;4、设置HTTP响应头;5、使用JSON格式。详细介绍:1、设置统一的编码方式,确保服务器端和客户端使用相同的编码方式,通常情况下,UTF-8是一种常用的编码方式,因为它可以支持多种语言和字符集;2、服务器端编码,在服务器端,确保将中文数据以正确的编码方式进行编码,再传递给客户端等等。

作为一种基于MVC模式的PHP框架,CakePHP已成为许多Web开发人员的首选。它的结构简单,易于扩展,而其中的AJAX技术更是让开发变得更加高效。在本文中,将介绍如何使用CakePHP中的AJAX。什么是AJAX?在介绍如何在CakePHP中使用AJAX之前,我们先来了解一下什么是AJAX。AJAX是“异步JavaScript和XML”的缩写,是指一种在

ajax重构指的是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更合理,提高软件的扩展性和维护性;Ajax的实现主要依赖于XMLHttpRequest对象,由于该对象的实例在处理事件完成后就会被销毁,所以在需要调用它的时候就要重新构建。

jquery ajax报错403是因为前端和服务器的域名不同而触发了防盗链机制,其解决办法:1、打开相应的代码文件;2、通过“public CorsFilter corsFilter() {...}”方法设置允许的域即可。

当提交表单时,捕获提交过程并尝试运行以下代码片段来上传文件-//File1varmyFile=document.getElementById('fileBox').files[0];varreader=newFileReader();reader.readAsText(file,'UTF-8');reader.onload=myFunc;functionmyFunc(event){ varres

CSRF代表跨站请求伪造。CSRF是未经授权的用户冒充授权执行的恶意活动。Laravel通过为每个活动用户会话生成csrf令牌来保护此类恶意活动。令牌存储在用户的会话中。如果会话发生变化,它总是会重新生成,因此每个会话都会验证令牌,以确保授权用户正在执行任何任务。以下是访问csrf_token的示例。生成csrf令牌您可以通过两种方式获取令牌。通过使用$request→session()→token()直接使用csrf_token()方法示例<?phpnamespaceApp\Http\C


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境