怎样用原生JS直接读取.json后缀的文件

怎样用原生JS直接读取.json后缀的文件,第1张

<script language="javascript">

function getjson(){

var xmlReq ;

try{

xmlReq = new ActiveXObject("MicrosoftXML>

要获取其他文件下的元素,那么当前页面和另外的页面必须有关联才可以。

比如要从iframe的子页面,获取父页面的元素可以这样写:

parentdocumentgetElementById('a1');

比如要从windowopen的页面中,获取父页面的元素可以这样写:openerdocumentgetElementById("a1");

file是一种特殊的input,不能被赋值,也不能被javascript取值,只能随表单提交,而且随表单提交的也是file路径所指向的文件本身。

这是浏览器安全原因所限制的,如果可以取值和赋值的话,那么javascript就可以随意获取你电脑上的文件了,这是非常危险的

js不能用于 *** 作文件,但是可以通过JS调用PHP等程序对文件流进行 *** 作,我这里只涉及前端调用(JQ AJAX,注意要引用JQ类库,并且AJAX必须在服务端才能运行,也就是你必须搭建服务器),至于你文档 *** 作的程序这个得自行搞定了。

<!DOCTYPE HTML>

<html>

<head>

<meta >

如果要使用js读取json文件,那么ajax *** 作是必须的了。原生ajax有点麻烦,我想你们项目一定用了什么js库,这里给个jquery的例子:

$get('xxjson路径', function(data){

    alert(data); // data即为json文件内容里的json数据

}, 'json');

如果把这个文件的内容读取为纯文本,可以修改$get的最后一个参数json为text,或者删掉这个参数,默认也是text。

js读取CSV格式数据,参考如下:

<script type="text/javascript">     

// This will parse a delimited string into an array of  

// arrays The default delimiter is the comma, but this  

// can be overriden in the second argument  

function CSVToArray( strData, strDelimiter ){  

// Check to see if the delimiter is defined If not,  

// then default to comma  

strDelimiter = (strDelimiter || ",");  

   

// Create a regular expression to parse the CSV values  

var objPattern = new RegExp(  

(  

// Delimiters  

"(\\" + strDelimiter + "|\\r\\n|\\r|^)" +  

   

// Quoted fields  

"(:\"([^\"](:\"\"[^\"]))\"|" +  

   

// Standard fields  

"([^\"\\" + strDelimiter + "\\r\\n]))"  

),  

"gi"  

);  

   

   

// Create an array to hold our data Give the array  

// a default empty first row  

var arrData = [[]];  

   

// Create an array to hold our individual pattern  

// matching groups  

var arrMatches = null;  

   

   

// Keep looping over the regular expression matches  

// until we can no longer find a match  

while (arrMatches = objPatternexec( strData )){  

   

// Get the delimiter that was found  

var strMatchedDelimiter = arrMatches[ 1 ];  

   

// Check to see if the given delimiter has a length  

// (is not the start of string) and if it matches  

// field delimiter If id does not, then we know  

// that this delimiter is a row delimiter  

if (  

strMatchedDelimiterlength &&  

(strMatchedDelimiter != strDelimiter)  

){  

   

// Since we have reached a new row of data,  

// add an empty row to our data array  

arrDatapush( [] );  

   

}  

   

   

// Now that we have our delimiter out of the way,  

// let's check to see which kind of value we  

// captured (quoted or unquoted)  

if (arrMatches[ 2 ]){  

   

// We found a quoted value When we capture  

// this value, unescape any double quotes  

var strMatchedValue = arrMatches[ 2 ]replace(  

new RegExp( "\"\"", "g" ),  

"\""  

);  

   

} else {  

   

// We found a non-quoted value  

var strMatchedValue = arrMatches[ 3 ];  

   

}  

   

   

// Now that we have our value string, let's add  

// it to the data array  

arrData[ arrDatalength - 1 ]push( strMatchedValue );  

}  

   

// Return the parsed data  

return( arrData );  

}  

   

</script>

以上就是关于怎样用原生JS直接读取.json后缀的文件全部的内容,包括:怎样用原生JS直接读取.json后缀的文件、js如何获取file控件的完整路径、JS获取其他文件的某个元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10142100.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存