Javascript 在我的例子中,如何通过ajax获取检索数据?
我的php和javascript中有一个奇怪的问题 我有一些php的东西,比如Javascript 在我的例子中,如何通过ajax获取检索数据?,javascript,php,ajax,Javascript,Php,Ajax,我的php和javascript中有一个奇怪的问题 我有一些php的东西,比如 $testData = array( 'prop1' => true, 'prop2' => 2, 'name' => 'testname', 'number' => 123 ); echo json_encode($testData); 在Javascript中 $.ajax({ type: "GET", cach
$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)
}
您已经从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)
}
});
$.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);
}
});
在这种情况下,jQuery将把结果处理为JSON
,然后您可以访问它的对象属性,如果它不是JSON
,那么它将转到错误事件
秒:
另一种解析对象的方法是使用JSON.parse()
函数,因为您获得的数据只是字符串
例如:
$.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)
}
});
$.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);
}
});
从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)
}
});
$.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);
}
});
在这种情况下,jQuery将把结果处理为JSON
,然后您可以访问它的对象属性,如果它不是JSON
,那么它将转到错误事件
秒:
另一种解析对象的方法是使用JSON.parse()
函数,因为您获得的数据只是字符串
例如:
$.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)
}
});
$.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);
}
});
通过编写
json\u encode($testData),用PHP对数组进行编码,将其发送到Javascript因此,要在javascript端获取它,您必须使用JSON.parse(yourencodedArray)
通过使用它,您可以在数组中获取值
var data = JSON.parse(yourencodedArray);
var dat1 = data.prop1;
var dat2 = data.prop2;
JSON.parse能够解码编码的数组 通过编写json\u encode($testData),用PHP对数组进行编码,将其发送到Javascript因此,要在javascript端获取它,您必须使用JSON.parse(yourencodedArray)
通过使用它,您可以在数组中获取值
var data = JSON.parse(yourencodedArray);
var dat1 = data.prop1;
var dat2 = data.prop2;
JSON.parse能够解码编码的数组 将dataType:'json'
添加到ajax请求中?您从console.log(结果)输出的是什么?console.log(结果)给您{“prop1”:true,“prop2”:2,“name”:“testname”,“number”:123}将dataType:'json'
添加到ajax请求中?您从console.log(结果)输出的是什么?console.log(结果)给您的是什么给你{“prop1”:true,“prop2”:2,“name”:“testname”,“number”:123}另一种方法存在(为了答案的完整性,但我不建议这样做):如果你不指定数据类型,它将尝试从收到的响应类型猜出它是什么类型的数据。默认情况下,它将是纯html,因此它接收它时将假定它只是一个字符串(这就是这个问题中发生的情况)。在输出作为响应的数据之前,可以设置一个headerheader('Content-Type:application/json')代码>这意味着响应被解释为json。另一种方法存在(为了答案的完整性,但我不建议这样做):如果您不指定数据类型,它将尝试根据收到的响应类型猜测它是什么类型的数据。默认情况下,它将是纯html,因此它接收它时将假定它只是一个字符串(这就是这个问题中发生的情况)。在输出作为响应的数据之前,可以设置一个headerheader('Content-Type:application/json')代码>这意味着响应被解释为json。