index.php
<script>
function polling(){
$.ajax({
url:"polling.php?randnumber=<?php echo $randnumber; ?>",
type: 'GET',
success: function (response) {
if(response == true)
{
window.location.href = "welcome.php";
}else
{
alert(response);//這裡目前印出
//<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
}
}
})
}
setTimeout("polling()",1000);
</script>
polling.php
<?php
require "mysql_connect.inc.php";
$randnumber = $_GET['randnumber'];
$result = mysqli_query($conn,"SELECT * FROM `login_record` WHERE `randnumber` = '$randnumber'");
$row=mysqli_fetch_array($result);
if($row['username'] != ""){
echo true;
}else{
echo false;
}
?>
我照各位前輩說的使用0或1但是印出的前面還有一長串@@...
)
我解決了原來是我在mysql_connect.inc.php多寫了一行....感謝各位前輩
跟後端溝通最好是用 json 的格式會比較好
另外
你確定 php 能用 return 回傳值嗎
我怎麼印象中是用 echo
<?php
require "mysql_connect.inc.php";
$randnumber = $_GET['randnumber'];
$result = mysqli_query($conn,"SELECT * FROM `login_record` WHERE `randnumber` = '$randnumber'");
$row=mysqli_fetch_array($result);
if($row['username'] != ""){
// return true;
echo json_encode(array('result' => true));
}else{
// return false;
echo json_encode(array('result' => false));
}
?>
我原本是用echo但是回傳值前面都會多出<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />false或true
重複傳(請忽略)
這我就不知道了
剛測試用 return 完全沒東西
連你說的那行也沒有
上面那個會回傳 json
{ result: true }
或
{ result: false }
OK~謝謝前輩我回家試試
我試了前輩的方法但是前面依然有一長串
js跟後端應用之間的溝通。無法用布林值的傳送方式。
認真來說只能傳送數值或是字串。
(你可參照post或是get能傳送的值來決定。)
所以你要嘛就直接用json來接受值。(json可容許布林值,雖然也是字串傳回)
要嘛就直接用0 1處理了。