首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加载JSON文件javascript

加载JSON文件javascript
EN

Stack Overflow用户
提问于 2016-07-20 06:11:54
回答 1查看 63关注 0票数 0

我想在这个page上获得json代码。

这是JSON代码:

代码语言:javascript
复制
[{"idStore":"13","0":"13","Name":"1414141414144","1":"1414141414144","Phone":"123456","2":"123456","Email":"tretretr","3":"tretretr","Description":"aaaaaaaaaaaa","4":"aaaaaaaaaaaa","Ville":"zaeazezae","5":"zaeazezae","Address":"aaaaaaaaaaaaaaaaaaaaaa","6":"aaaaaaaaaaaaaaaaaaaaaa","MsPoint":"0","7":"0","idGenre":"14","8":"14","Image":"--","9":"--","Country":"zaeaze","10":"zaeaze","idUser":"21","11":"21","Lat":"0","12":"0","Lng":"0","13":"0"}]

我对ajax一无所知,因此我尝试将php文件输出的内容解析为result.json

代码语言:javascript
复制
$fp = fopen('result.json', 'w');
fwrite($fp, json_encode($stores));
fclose($fp);

我使用这段ajax代码来读取我的result.json文件,因为该脚本与JSON输出不在同一页面上。

这是我的www文件夹架构:

代码语言:javascript
复制
www -> js -> app.js
    -> inedx.php
    -> Store.php
    -> result.josn

我使用app.js从JSON文件(由Store.php创建)加载数据并对其进行修改。然后我在index.php中使用它。

代码语言:javascript
复制
var da = $.ajax({
    url: "../result.json",
    success: function (data) {
        var obj = JSON.parse(data);
    }
});

alert(da);

输出结果是:

[Object Object]

我错过了什么吗?

EN

回答 1

Stack Overflow用户

发布于 2016-07-20 06:15:46

在代码中,变量da不是返回的结果,而是ajax函数本身。

JSON的值存储在obj变量中。但是,它也是一个对象,你不能只对它使用alert。但是,您可以像下面这样提醒它的属性:

代码语言:javascript
复制
var da = $.ajax({
    url: "../result.json",
    success: function (data) {
        var obj = JSON.parse(data);
         alert(obj.idStore);  //would show the idStore of the first element in Array
    }
});

如果你想把alert从ajax函数中去掉,你可以这样做:

代码语言:javascript
复制
var obj;

    $.ajax({
        url: "../result.json",
        success: function (data) {
            obj = JSON.parse(data);
            runIt();
        }
    });

function runIt(){
 alert(obj.idStore);  
}

另一种方法(而非Recommanded):

代码语言:javascript
复制
var obj, done = false;

    $.ajax({
        url: "../result.json",
        success: function (data) {
            obj = JSON.parse(data);
            done = true;
        }
    });

 var int = setInterval(function(){
if(done){ alert(obj.idStore); clearInterval(int);}
}, 100);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38469373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档