PDA

View Full Version : سوال: مشکل تو زدن ajax



se8820726
دوشنبه 29 آبان 1391, 14:09 عصر
سلام
آقا من یه صفحه دارم به اسم test.html و میخوام یه ajax به یه صفحه دیگه به اسم test.php بزنم و اطلاعاتی که به صورت json برمیگرده رو ببینم
اما انجام نمیشه
لطفا دوستان راهنمایی کنند
test.html:

$.ajax({
type:"POST",
url:"http://localhost/500px/test.php",

async: false,
dataType: "json",
success: function(data){
alert(data.500px.b);
}
});


test.php:

<?php
ob_start();
header("Content-type: application/json");
$a = "{\n";

$a.="'500px':{\n";
$a.="'a':'value1',\n";
$a.="'b':'value2'\n";
$a.="}\n";

$a.="}\n";

echo $a;
ob_end_flush();
?>

masudafsar
دوشنبه 29 آبان 1391, 18:32 عصر
مشکلات syntax در کد شما بود که عبارت اند از :

+ همیشه سعی کن در PHP با آرایه ها کار کنی و در آخر آرایه را به JSON تبدیل کن. با این کار از سالم بودن داده ی JSON مطمئن هستی:


<?php
$l["a"] = "value1";
$l["b"] = "value2";
$b["test"] = $l;

echo json_encode($b);
?>

+ در کد های JSON نام آبجکت ها از قوانین نام گذاری متغیر ها تبعیت می کند. پس آبجکت 500px نامی نا معتبر است.

* من با تابع ob_start کار نکردم، می تونی کمی در موردشون توضیح بدی که چه کاری انجام میدن؟

mrgraphy
سه شنبه 30 آبان 1391, 00:44 صبح
سلام دوت عزیز.
تابع ob_start و اکثر توابعی که توی php با ob آغاز میشند برای بافر کردن اطلاعات صفحه وب هستند و بیشتر در صفحاتی کاربرد دارند که تلفیق php و html با هم هستند و به افزایش سرعت صفحه کمک میکنند.
موفق باشید.