PDA

View Full Version : استفاده از ajax



mostafa612003
دوشنبه 09 آذر 1388, 07:57 صبح
با سلام
وقتي مي خواهم يک برنامه را با ajax اجرا کنم پيغام Permission deneid به من مي دهد

آيا بايد چيزي روي سيستمم نصب کنم؟

متشکرم

ali_shmki
سه شنبه 10 آذر 1388, 16:30 عصر
واسه اجراي ajax نياز به نصب هيچ چيزي نيست. به نظر ميرسه اين error از هاست شما باشه. آيا عبارت Permission deneid در سورس شما وجود دارد؟

mehdi.mousavi
سه شنبه 10 آذر 1388, 17:18 عصر
با سلام وقتي مي خواهم يک برنامه را با ajax اجرا کنم پيغام Permission deneid به من مي دهد آيا بايد چيزي روي سيستمم نصب کنم؟ متشکرم

سلام.
از چه Framework ای استفاده می کنید؟ مثلا در jQuery، وقتی می خواهید Resource ای رو که در Domain دیگه ای قرار داره fetch کنید، Exception مزبور تولید میشه... در چنین حالاتی، باید با استفاده از یک وب سرویس که در domain خودتون deploy می کنید، Resource مزبور رو آدرس کنید. در حقیقت، وب سرویس اطلاعات رو از Domain دیگه ای میگیره و jQuery هم این اطلاعات رو از وب سرویس شما که در همون Domain قرار گرفته دریافت می کنه و اینطوری مشکلی پیش نمیاد.

در برخی مواقع هم استفاده از Frame ها میتونه باعث بروز این مشکل بشه. اگر دقیق توضیح بدید که چیکار می کنید و دقیقا چه پیامی می گیرید و از چه Framework هایی استفاده می کنید، میتونم بهتر راهنماییتون کنم.

موفق باشید.

صابر طهماسبی
پنج شنبه 12 آذر 1388, 10:54 صبح
بسم الله الرحمن الرحیم
اگه نمونه کدت رو بذاری بهتره
اما تا اونجا که من می دونم در Ajax وقتی که فایلی که درخواست را ارسال می کنه با فایل سرور روی یک آدرس نباشند این خطا را نمایش میده
برای مثال شما داخل یک فایل html به نام req.html که روی دسکتاپ قرار داده با Ajax درخواست را به فایلی با آدرس http://localhost/server.php ارسال می کنید این خطا نمایش داده می شود.

mehdi.mousavi
پنج شنبه 12 آذر 1388, 22:21 عصر
تا اونجا که من می دونم در Ajax وقتی که فایلی که درخواست را ارسال می کنه با فایل سرور روی یک آدرس نباشند این خطا را نمایش میده

من دلیل علمیشو خدمتون عرض کردم، هر وقت که تو دو Domain متفاوت... پست قبلی رو بازهم بخونید!

mostafa612003
شنبه 14 آذر 1388, 08:19 صبح
با عرض سلام و تشکر
اين متن script من هستش:
function showUser(str) {


xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
{
alert ("Browser does not support HTTP Request");
return;
}

//var url="form_reg.php";
var url="?pg=internal&cn=register/form_reg";
url=url+"?q="+str;
alert(url);
url=url+"&sid="+Math.random();
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}

function stateChanged()
{
if (xmlhttp.readyState==4)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}

function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject)
{
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}

از اين خط خطا مي گيرد:
xmlhttp.open("GET",url,true);

اول پيغام unknown name را مي دهد سپس پيغام Permission denied

mostafa612003
دوشنبه 16 آذر 1388, 08:06 صبح
لطفا من را راهنمايي کنيد

متشکرم

mostafa612003
سه شنبه 17 آذر 1388, 08:34 صبح
??????????????????????????

mehdi.mousavi
سه شنبه 17 آذر 1388, 12:33 عصر
لطفا من را راهنمايي کنيد متشکرم

سلام.
شما این دو خطی که نوشتید رو نگاه کنید:

var url="?pg=internal&cn=register/form_reg";
url=url+"?q="+str;

اینجا در واقع دارید دوبار ؟ رو به url اضافه می کنید. تازه معلوم نیست اون str چی هستش که داره به url افزوده میشه. همه اینها مهمه... ابتدا این بخش از کد رو درست کنید و اگر ایرادی بود، مجددا ایراد رو پست کنید.

mostafa612003
چهارشنبه 18 آذر 1388, 08:05 صبح
خيلي متشکرم
من اين قسمت url=url+"?q="+str; را اصلاح کردم در واقع به جاي علامت ? بايد علامت & را بگذارم
که اين کار را کردم
و str در واقع آن مقدار دريافتي از فرم هست که در پارامتر ورودي تابع هم آن را دريافت مي کنم
function showUser(str)

من وقتي بعد از خط url=url+"&q="+str; متغير url را نمايش مي دهم
آدرس را درست نمايش مي دهد و مشکلي ندارد ولي باز هم همان پيغام خطا را مي دهد

در ضمن نکته اي که من متوجه شدم اين هست که مقدارها از اين طريق به صفحه ارسال نميشود
يعني در واقع صفحه بايد refresh شود ولي اين اتفاق نمي افتد

ممنون مي شوم راهنمايي فرماييد