Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用纯javascript和ajax迭代json文件_Javascript_Ajax_Json_Loops - Fatal编程技术网

使用纯javascript和ajax迭代json文件

使用纯javascript和ajax迭代json文件,javascript,ajax,json,loops,Javascript,Ajax,Json,Loops,我在迭代json响应时遇到问题。 我正在使用GET方法和json文件的url创建ajax函数 当我记录ajax.response时,我得到以下信息: " 300x250.js:120 { 300x250.js:120 \ 300x250.js:120 r 300x250.js:120 \ 300x250.js:120 n 300x250.js:120 \ 300x250.js:120 t 300x250.js:120 \ 300x250.js:120 " 300x250.js:1

我在迭代
json
响应时遇到问题。 我正在使用GET方法和json文件的url创建ajax函数 当我记录ajax.response时,我得到以下信息:

        "
300x250.js:120 {
300x250.js:120 \
300x250.js:120 r
300x250.js:120 \
300x250.js:120 n
300x250.js:120 \
300x250.js:120 t
300x250.js:120 \
300x250.js:120 "
300x250.js:120 l
300x250.js:120 a
300x250.js:120 n
300x250.js:120 g
300x250.js:120 \
300x250.js:120 "
  • 如何转义
    \r
    \n
    \t
  • 这是在
    300x250.js
  • 文件内容:

    var feed = {
        looping: 2,
        target: "_blank",
        bbttext: "Tap to bet",
        text21: "bet £10 ",
        text22: "get £30 free"
    };
    
    我必须使用ajax从.json文件中获取这些值,但是我得到了较高的响应,我想用
    ajax.responseText
    填充var提要


    我也为英语不太好和解释问题不太好而道歉

    您的文件内容不是纯JSON。JSON文件如下所示:

    {
        looping: 2,
        target: "_blank",
        bbttext: "Tap to bet",
        text21: "bet £10 ",
        text22: "get £30 free"
    }
    
    一旦文件是纯JSON,就可以使用XMLHttpRequest:

    var xmlhttp = new XMLHttpRequest();
    var url = "300x250.json";
    
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            var myJSONObj = JSON.parse(xmlhttp.responseText);
        }
    }
    xmlhttp.open("GET", url, true);
    xmlhttp.send();
    

    你试了什么?据我所知,您正在读取文本文件,而不是反序列化json对象。我几乎尝试了所有方法。open('get','jsonfeed_test.json',true);ajax.onreadystatechange=function(){if(ajax.readyState==4&&ajax.status==200){//console.log(JSON.parse(ajax.responseText));a=JSON.parse(ajax.responseText);for(a中的var prop){if(a.hasOwnProperty(prop)){//console.log(prop+':'+a[prop]);//console.log(prop);var key=prop;var val=a[prop];//console.log(val);//console.log(a[prop]);feed={key:val};console.log(feed);}这不是一个JSON文件。嗯……我对JSON不是很熟悉。这个任务是为了招聘而交给我的,他们使用GreenSock。其中一个条件是使用ajax获取数据,而我不能使用jQuery。你能给我一些想法或替代方法,如何用JSON文件中的responseText填充变量“feed”吗?该死,我有这么多问题:D非常感谢你的回答:)用纯Javascript解决方案编辑了答案。