PDA

View Full Version : سوال: مشکل با آجاکس



javadamiri
دوشنبه 03 آبان 1389, 22:10 عصر
سلام. من یه مشکل کوچیک با آجاکس دارم. وقتی یه درخواست به صورت:
http://localhost/index.php?page=magazine&action=view_listرو ارسال میکنم صفحه index.php رو لود میکنه و صفحه درخواستی رو به صورت یه صفحه جدید تو مکان مورد نظر لود میکنه و صفحه میشه دو تا صفحه . یکی داخل یکی دیگه؟
شرمنده اگه نا مفهوم بود:ناراحت:

funpatogh
دوشنبه 03 آبان 1389, 22:21 عصر
کد هاتو بزار اینجا هم فایل php هم بخش Ajax

trade_mark
دوشنبه 03 آبان 1389, 22:21 عصر
علیک سلام
برداشت من از مشکل شما :
شما باید یه صفحه مخصوص چاپ خروجی بنویسی که فقط اطلاعاتی رو که لازم داری را لود کنه نه این که کل صفحه رو با قالب برگشت بده
نتیجه.شما باید یه صفحه برای ارسال و دریافت اطلاعت داشته باشی
بازم اگر متوجه نشدی بگو تا بیشتر توضیح بدم

binyaft
دوشنبه 03 آبان 1389, 22:25 عصر
شما باید صفحه را به صورت مجزا بسازید و انرا در صفحه اصلی سایت include نکنید

javadamiri
دوشنبه 03 آبان 1389, 22:30 عصر
ممنون از جواب دوستان. من وقتی یه درخواست به این شکل ارسال میکنم:
http://localhost/magazine.php
درست کار میکنه و دو صفحه نمیشه ولی وقتی همراه با پارامتر باشه انجوری میشه.
دوستان اگه کدی چیزی دارن بزارن تا من ارسال درخواست با پارامتر رو یاد بگیرم ممنون.

funpatogh
دوشنبه 03 آبان 1389, 22:48 عصر
http://www.w3schools.com/php/php_ajax_php.asp

javadamiri
دوشنبه 03 آبان 1389, 22:50 عصر
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<link href="css/style.css" rel="stylesheet" media="all">
<link href="css/slider.css" rel="stylesheet" media="screen">
<script src="js/jquery.js" type="text/javascript"></script>
<script src="js/ajax.js" type="text/javascript"></script>
<script src="js/easySlider1.js" type="text/javascript"></script>
<script src="js/pngFix.js" type="text/javascript"></script>
<script src="js/myscripts.js" type="text/javascript"></script>
</head>
<body>
<div id="main">
<div id="toppic">
</div>
</div>
</body>
</html>
php:



<?php
require_once('inc/fns.php');
$page = $_REQUEST['page'];
$cmd = $_REQUEST['cmd'];
switch($page)
{
case'service':
title("خدمات");
switch($cmd)
{
case'domain_hosting':
domain_hosting();
break;
//////////////////////////
case'client_programing':
client_programing();
break;
/////////////////////////
case'web_programing':
web_programing();
break;
/////////////////////////
case'web_design':
web_design();
break;
//////////////////////////
}
break;
////////////////////////////////////////////////
case'project':
title("پروژه های انجام شده");
switch($cmd)
{
case'website':
show_weblist();
break;
//////////////////////
case'multi_media':
show_multimedia();
break;
//////////////////////
}
break;
///////////////////////////////////////////////
case'tarefe':
title(" سی دی مالتی مدیا");
tarefe();
break;
///////////////////////////////////////////////
case'magazine':
title("مقالات");
if($cmd=="view")
{
maglist();
}
else
{
mag2($cmd);
}
break;
///////////////////////////////////////////////
//case'site_map':
//title("نقشه سایت");
//echo"site_map";
//break;
///////////////////////////////////////////////
case'about':
title("درباره ی من");
about();
break;
//////////////////////////////////////////////
case'contact':
title("ارتباط با من");
contact();
break;
//////////////////////////////////////////////
case'order':
title("فرم سفارش طراحی");
echo"order";
break;
/////////////////////////////////////////////
default:
title("wellcome:");
home_page();
break;
//////////////////////////////////////////////
}
footer();
mysql_close();
?>
ajax:


function ajaxRequest()
{
try
{
var request = new XMLHttpRequest();
}
catch(e1)
{
try
{
request = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e2)
{
try
{
request = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e3)
{
request = false;
}
}
}
return request;
}
/////////////////////
function GetData(page,cmd)
{
params = "url=localhost:81"
request = new ajaxRequest();
var url = "index.php?page="+page+"&cmd="+cmd+"";
request.open("GET", url, true);
request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.onreadystatechange = function()
{
if (this.readyState == 4)
{
if (this.status == 200)
{
if (this.responseText != null)
{
document.getElementById("toppic").innerHTML = this.responseText;
}
else alert("Ajax error: No data received");
}
else alert( "Ajax error: " + this.statusText);
}
}

request.send(params);
}

binyaft
دوشنبه 03 آبان 1389, 22:55 عصر
ولی وقتی همراه با پارامتر باشه انجوری میشه.

حتما زمان ارسال پارامتر توابعی فراخوانی میشه که همون صفحه رو میسازه

javadamiri
دوشنبه 03 آبان 1389, 23:05 عصر
دوستان اگه کد کوچیکی که همراه با پارامتر، ارسال شده داشته باشه بذاره ممنون میشم.

binyaft
دوشنبه 03 آبان 1389, 23:15 عصر
دوستان اگه کد کوچیکی که همراه با پارامتر، ارسال شده داشته باشه بذاره ممنون میشم.
مگه کد خود شما پارامتر ارسال نمیکنه ؟؟؟
احتمالا نشان دادن صفحه ای در صفحه دیگر مربوط به ان توابعی است که در دستور switch فراخوانی میکنید

javadamiri
دوشنبه 03 آبان 1389, 23:28 عصر
آقا دستت درست. تشکر.