在我的情况下,如何通过ajax获取数据
How to get retrieve data via ajax in my case?
我的php和javascript中有一个奇怪的问题。
我在 php 中有一些东西,例如
$testData = array(
'prop1' => true,
'prop2' => 2,
'name' => 'testname',
'number' => 123
);
echo json_encode($testData);
在 Javascript 中
$.ajax({
type: "GET",
cache: false,
async: false,
url: phpfile,
global: false,
success: function(result) {
console.log(result)
console.log(result.prop1)
console.log(result.prop2)
}
我能够从console.log(result)
中得到结果,但我无法从console.log(result.prop1)
那里得到任何东西,也无法从console.log(result.prop2)
那里得到任何东西。我在这里做错了什么吗?
谢谢!
你已经从 php 转换了 json
。success: function(result) {
var res = JSON.parse(result)
console.log(result)
console.log(res.prop1)
console.log(res.prop2)
}
有两种方法可以从 ajax 获取 json 对象。
第一:(推荐)您必须使用 JSON
定义数据类型属性,
例:
$.ajax({
type: "GET",
cache: false,
async: false,
url: phpfile,
global: false,
dataType: 'JSON',
success: function(result) {
console.log(result)
console.log(result.prop1)
console.log(result.prop2)
}
});
在这种情况下,jQuery会将结果处理为JSON
然后您可以访问它的对象属性,如果它不是JSON
,那么它将进入错误事件。
第二:解析对象的另一种方法是使用 JSON.parse()
函数,因为您获得的数据只是字符串。
例:
$.ajax({
type: "GET",
cache: false,
async: false,
url: phpfile,
global: false,
success: function(result){
var data = JSON.parse(result);
console.log(data);
console.log(data.prop1);
console.log(data.prop2);
}
});
你在PHP中对数组进行编码以将其发送到Javascript,通过编写json_encode($testData);
,因此要在javascript端获取它,你必须使用JSON.parse(yourencodedArray)
通过使用它,你可以在数组中获取值。
var data = JSON.parse(yourencodedArray);
var dat1 = data.prop1;
var dat2 = data.prop2;
JSON.parse能够解码编码的数组。
相关文章:
- React路由器服务器端渲染和ajax获取数据
- JS-使用Ajax获取文件名
- 在chrome扩展中使用AJAX获取目录中的文件数
- 查找AJAX获取和发布时使用的网络数据的obsolute或可能的估计值
- jQuery AJAX获取Vimeo缩略图
- 使用ajax获取通过FTP上传的文件的文件大小——试图防止ajax中断自身
- 通过Ajax获取变量
- 在.js文件上使用Ajax获取JSONP
- 通过AJAX将从AJAX获取的值发送到另一个PHP文件
- 使用 AJAX 获取 XML,然后将其解析为 JSON(无需服务器)
- 如何在控制器代码点火器中从 ajax 获取数据
- 使用 Ajax 获取表单数据
- 从 Ajax 获取由 ZombieJS 的异步点击事件触发的 Http 错误
- PHP没有从$.ajax获取POST数据
- Ajax获取数据以获取另一个Ajax数据
- AJAX获取请求有时会在iOS Safari上失败
- 如何在另一个php文件中从ajax获取变量
- AngularJS中使用ajax获取数据的最佳方式是什么
- 在react组件中使用ajax获取实时更新的数据
- 当使用AJAX获取PHP文件以从MySQL数据库中检索数据时,会出现下拉表单disapering