我想在这个page上获得json代码。
这是JSON代码:
[{"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。
$fp = fopen('result.json', 'w');
fwrite($fp, json_encode($stores));
fclose($fp);我使用这段ajax代码来读取我的result.json文件,因为该脚本与JSON输出不在同一页面上。
这是我的www文件夹架构:
www -> js -> app.js
-> inedx.php
-> Store.php
-> result.josn我使用app.js从JSON文件(由Store.php创建)加载数据并对其进行修改。然后我在index.php中使用它。
var da = $.ajax({
url: "../result.json",
success: function (data) {
var obj = JSON.parse(data);
}
});
alert(da);输出结果是:
[Object Object]
我错过了什么吗?
发布于 2016-07-20 06:15:46
在代码中,变量da不是返回的结果,而是ajax函数本身。
JSON的值存储在obj变量中。但是,它也是一个对象,你不能只对它使用alert。但是,您可以像下面这样提醒它的属性:
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函数中去掉,你可以这样做:
var obj;
$.ajax({
url: "../result.json",
success: function (data) {
obj = JSON.parse(data);
runIt();
}
});
function runIt(){
alert(obj.idStore);
}另一种方法(而非Recommanded):
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);https://stackoverflow.com/questions/38469373
复制相似问题