# d3请求

算是基于fetch,然后更细化到每个具体的操作,d3.xhr函数已经被v4版本移除

npm install d3-fetch

# d3.csv d3.tsv(制表符)

将csv文件直接解析成需要的样式

a,b,c
sj_mino1001.jpg,715282,4FB55FE8
sj_mino1002.jpg,471289,93203C5C
sj_mino1003.jpg,451929,C4E80467
<!DOCTYPE html> 
<html lang="en"> 
  
<head> 
    <meta charset="UTF-8"> 
    <meta name="viewport" content= 
        "width=device-width, initial-scale=1.0"> 
</head> 
  
<body> 	
	<div>demo</div>
    <!-- Fetching from CDN of D3.js -->
    <script type="text/javascript" 
        src="https://d3js.org/d3.v6.min.js"> 
    </script> 
      
    <script> 
	  console.log(d3.csv)
		//这是v3v4版本的写法
		// d3.csv("demo.csv",function(err,json){
		// 	console.log(json)
		// })
		
		//v5v6版本写法(或者把上面的err,json改成一个参数,返回值就是需要要的值)
		d3.csv("demo.csv")
		.then(res=>{
			console.log(res)
		})
		/*0: {a: "sj_mino1001.jpg", b: "715282", c: "4FB55FE8"}
		1: {a: "sj_mino1002.jpg", b: "471289", c: "93203C5C"}
		2: {a: "sj_mino1003.jpg", b: "451929", c: "C4E80467"}
		columns: (3) ["a", "b", "c"]*/
		
		
		
		// fetch("demo.csv").then(res=>res.text()).then(res=>{
		// 	console.log(res)
		// })
		
		// function ajax(url){
		//         var xhr = window.XMLHttpRequest ? new XMLHttpRequest() 
		// 					: ActiveXObject("microsoft.XMLHttp")
		//         xhr.open("get",url,true);
		
		//         xhr.send();
		//         xhr.onreadystatechange = () =>{
		//             if(xhr.readyState == 4){
		//                 if(xhr.status == 200){
		// 					console.log(xhr)
		//                     var data = xhr.responseText;
		// 					console.log(data)
		//                     return data;
		//                 }
		//             }
		//         }    
		//     }
		//   ajax("demo.csv")
		
    </script> 
</body> 
  
</html>

注意:使用v5v6版本时,在csv请求的第二个参数写函数是,会给出每条数据的值,而写在then之中则是全体数据组成的数组!

# d3.html

请求一个HTML文档片段

# d3.json

请求一个JSON对象

d3.json("demo.json").then(res=>{
	console.log(res)
})

# d3.text

# d3.xml

最后更新: 2/10/2021, 9:18:30 AM