我想在这个页面上获得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]
我错过什么了吗?
在您的代码中,变量da
不是返回的结果,而是ajax函数本身。
JSON的值存储在obj
变量中。但是它也是一个对象,你不能只对它使用警报。但是你可以对它的属性发出警报,如下所示:
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);
}
另一种方法(不推荐):
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);