|
با سلام،
یک صفحه php دارم به نام test.php که داخل آن یک کد ajax قرار داره. گفتم زمانی که روی دکمه موجود در صفحه کلیک شد کد ajax اجرا بشه. به این صورت که مقدار 1 با اندیس id با متد post به همان صفحه ارسال بشه. و در بخش php همین صفحه گفتم که اگر درخواست از طرف ajax بود مقدار ارسالی اش را چاپ کن. اما متاسفانه جواب نمیده.
فایل jQuery را از خود سایت jQuery دانلود کردم. خواهشا از دوستان اگر کسی میدونه مشکل این کد کجاست راهنمایی بفرماید بد جوری بهش نیاز دارم.
<!DOCTYPE html>
<html>
<head>
<script src="jquery-1.11.1.min.js"></script>
</head>
<body>
<div id="d"></div>
<button id="b">c</button>
<script>
$(document).ready(function(){
$('#b').click(function(){
$.ajax({
url: 'test.php',
type: 'POST',
data: {id : 1}
})
});
})
</script>
<?php
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
echo $_POST['id'];
?>
</body>
</html>
از آنجایی که مشکلم حل شد جواب را میگذارم تا در صورت نیاز دیگران استفاده کنند.
باید کد php که داده به آن از طریق ajax پست می شود را از فایل اصلی که پوسته ی صفحه است جدا شود. و در کد مربوط به ajax دستور success را اضافه کنم تا در صورتی که عمل درخواست و پاسخ با موفقیت صورت گرفت داده های echo شده در فایل php به یک تگی مثل div انتساب داده شود:
در فایل ajax.php داریم: <
?php
if(isset($_POST['id']))
{
echo $_POST['id'];
}
<script src="jquery-1.11.1.min.js"></script>
<button id="b">c</button>
<div id="shMessage"></div>
<script>
$(document).ready(function(){
$('#b').click(function(){
$.ajax({
url: 'ajax.php',
type: 'POST',
data: {id : 'dadeye man'},
success:function(data)
{
$('#shMessage').html(data);
}
})
});
})
</script>