【问题标题】:iterating json file with pure javascript and ajax使用纯 javascript 和 ajax 迭代 json 文件
【发布时间】:2015-06-25 08:04:43
【问题描述】:

我在迭代 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 "
  1. 我怎样才能逃脱\r \n\t
  2. 这是在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 对象。
  • 我几乎尝试了所有方法。 ajax.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(var prop in a){ if(a.hasOwnProperty(prop)){ //console.log(prop + ': ' + a[prop]); //console.log(prop);变量键 = 道具; var val = a[prop]; //console.log(val); //console.log(a[prop]);饲料={键:val};控制台.log(饲料); } } } }
  • 那不是 JSON 文件。

标签: javascript ajax json loops


【解决方案1】:

您的文件内容不是纯 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 不是很熟悉。这个任务是给我的,用于招聘,他们使用 GreenSock。其中一个条件是使用 ajax 来获取数据,我不能使用 jQuery。你能给我一些想法或替代方法吗?如何用 json 文件中的 responseText 填充变量“feeds”?该死的,我有很多问题:D非常感谢您的回答:)
  • 用纯 Javascript 解决方案编辑了答案。
猜你喜欢
  • 2014-06-13
  • 1970-01-01
  • 1970-01-01
  • 2019-04-07
  • 2018-01-27
  • 2016-03-10
  • 2015-05-26
  • 2015-07-23
  • 1970-01-01
相关资源
最近更新 更多