使用纯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解决方案编辑了答案。