PDA

View Full Version : کار نکردن کد ای جکسی که نوشتم(درخواست راهنمایی)



mojtaba.sln
پنج شنبه 19 آذر 1394, 16:38 عصر
سلام خدمت همه دوستان و اساتید...
من تازه دارم ای جکس رو یاد می گیرم...
یه کدی نوشتم که کار نمی کنه...
می خواستم اگه می شه دوستان راهنماییم کنند که مشکل از کجاست..
این کد صفحه html :


<html>
<body>
<form action="oondex.php">
<input type="text" name="user" id="user">
<button type="button" value="check" onclick="ch()">click me!</button>
</form>
<p id="pp"> result</p>
<script>
function ch()
{
var xmlhttp;
xmlhttp=new XMLHttpRequest();
var url='oondex.php?user='+document.getElementById('us er').value;
xmlhttp.onreadystatechange = stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}

function stateChanged()
{
if (xmlhttp.readyState==4 || xmlhttp.readyState=="complete")
{
if(xmlhttp.responseText == '1')
document.getElementById('pp').innerHTML="there is";
else
document.getElementById('pp').innerHTML= "there is not!";
}
}
</script>
</body>
</html>


اینم کد فایل php :


<?php
$con=mysqli_connect('localhost','root','123','ajax ');
$db=mysqli_select_db('ajax',$con);
$sql="SELECT * FROM `users` WHERE `user` = '".$_GET['user']."'";
$r=mysqli_query($sql);
$result=mysqli_num_rows($r);
echo ($result);
?>


ببخشید من تازه کارم...اگه می شه در حد سواد بنده توضیح بفرمایید...
پیشاپیش ممنون بابت کمک هاتون:heart:

blue.web9
پنج شنبه 19 آذر 1394, 23:40 عصر
این کد درست کار میکنه.


function ch()
{
var xmlhttp;
xmlhttp=new XMLHttpRequest();
var url='oondex.php?user='+document.getElementById('us er').value;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);

xmlhttp.onreadystatechange = function ()
{
if (xmlhttp.readyState == 4 || xmlhttp.status == 200 )
{
console.log(xmlhttp.responseText);
if(xmlhttp.responseText == '1')
document.getElementById('pp').innerHTML="there is";
else
document.getElementById('pp').innerHTML= "there is not!";
}
}
}

تو کد بالا us er همون user هست که به طور صحیح نمایش داده نمیشه.
کد شما یه مقدار مشکل داشت که خودتون مقایسه کنید متوجه میشید.
در مورد xmlhttp.onreadystatechange همون طور که از اسمش مشخصه هر بار که وضعیت تایع ایجکس تغییر میکنه این فانکشن اجرا میشه و زمانی که ایجکس با موفقیت انجام شد جواب به div اضافه میشه.

اینم کد فایل php :


echo 1;


پیشنهاد میکنم سعی کنید اول از درست بودن کد ایجکس مطمن بشید بعد در سمت سرور عملیات مورد نظر انجام بدید.برای همین داخل فایل php فقط خروجی 1 گذاشتم.
و در آخر پیشنهاد میکنم به خاطر ساده تر بودن از ایجکس jquery استفاده کنید.
موفق باشید.

mojtaba.sln
جمعه 20 آذر 1394, 20:13 عصر
سلام...
ممنون..آره با جی کوئری بهتر تونستم کد های ای جکس بنویسم...