View Full Version : مشکل با json در jQuery.Ajax
masudafsar
جمعه 29 فروردین 1393, 19:56 عصر
سلام
من یه خروجی json رو از طریق ajax لود میکنم ولی نمی تونم به المنت های اون دسترسی داشته باشم.
این فایل json
{
"title" : "Cars List",
"count" : "5",
"list" : {
"item" : "Ford Mustang",
"item" : "BMW Z4",
"item" : "Toyota Supra",
"item" : "Mazda RX7"
}
}
این هم کد جاوا اسکریپت
$("#load").click(function() {
$.ajax({
url: "http://localhost/json/",
type: "json",
success: function(data) {
alert(data.title);
}
});
});
alireza_s_84
جمعه 29 فروردین 1393, 21:22 عصر
سلام
من یه خروجی json رو از طریق ajax لود میکنم ولی نمی تونم به المنت های اون دسترسی داشته باشم.
این فایل json
{
"title" : "Cars List",
"count" : "5",
"list" : {
"item" : "Ford Mustang",
"item" : "BMW Z4",
"item" : "Toyota Supra",
"item" : "Mazda RX7"
}
}
این هم کد جاوا اسکریپت
$("#load").click(function() {
$.ajax({
url: "http://localhost/json/",
type: "json",
success: function(data) {
alert(data.title);
}
});
});
چون json شما یک رشته معتبر نیست. شما اومدی توی قسمت list چندبار کلید item تعریف کردی. در واقع رشته شما باید به این شکل باشه:
حالت اول:
{
"title" : "Cars List",
"count" : "5",
"list" : [
{"item" : "Ford Mustang"},
{"item" : "BMW Z4"},
{"item" : "Toyota Supra"},
{"item" :"Mazda RX7"}
]
}
حالت دوم:
{
"title" : "Cars List",
"count" : "5",
"list" : [
"Ford Mustang",
"BMW Z4",
"Toyota Supra",
"Mazda RX7"]
}
masudafsar
جمعه 29 فروردین 1393, 23:19 عصر
من رشته json رو از آرایه ای در PHP می سازم، خودم ننوشتم:
$data = array(
"title" => "Cars List",
"count" => "4",
"list" => array(
"Ford Mustang",
"BMW Z4",
"Toyota Supra",
"Mazda RX7"
)
);
echo json_encode($data);
خروجی:
{
"title" : "Cars List",
"count" : "4",
"list" : ["Ford Mustang", "BMW Z4", "Toyota Supra", "Mazda RX7"]
}
ولی با کد زیر نمی تونم به title دسترسی داشته باشم:
$.ajax({
url: "http://localhost/json/",
type: "json",
success: function(data) {
alert(data.title);
}
});
masudafsar
جمعه 29 فروردین 1393, 23:49 عصر
خیلی از alireza_s_84 ممنون. فعلا مشکل حل شد.
متاسفانه تو کد jquery اشتباه داشتم
درستش:
$.ajax({
url: "http://localhost/json/",
dataType: "json",
success: function(data) {
alert(data.title);
}
});
!!!: قسمت dataType: "json" تغییر کرده.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.