我從服務器上的php文件中得到一個警告,不知道什麼是錯的。我正在從我的javascript函數向服務器發送ajax調用,並且它只是在xmlhttp.readyState == 4 && xmlhttp.status == 200
中沒有收到任何響應。即使在使用ob_start之後,也不能修改標題信息?
我試圖對位於本地計算機上的php文件/ mysql數據庫進行相同的調用,但它對遠程主機不起作用。此外,我有一個類似的PHP文件在服務器上,只是選擇條款不同,它在那裏工作不知道這裏有什麼問題?
。
警告:不能更改頭信息 - 已經 發送的報頭 (輸出開始 /home2/marshell/public_html/cfv/getuserpostbybusnumber.php:2)/ HOME2 /馬歇爾/的public_html/CFV/getuserpostbybusnumber .php on line 4
。
<?php
ob_start();
header("Access-Control-Allow-Origin: *");
$q = intval($_GET['q']);
$con=mysqli_connect("localhost","ma","Ad","mars","3306");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM cfv_viewbusupdate WHERE BusNumber = ".$q." ORDER BY DatePosted DESC");
while($row = mysqli_fetch_array($result))
{
echo "<P>";
echo "<B><font color=\"3300CC\">#" . $row['DatePosted'] . "</font></B> --";
echo "" . $row['username'] . " posted </br>";
echo "<B>Bus Number . </B>";
echo "<font color=\"CC0033\">" . $row['BusNumber'] . "</font></br><B> Going towards </B>";
echo "<font color=\"CC0033\">" . $row['Direction'] . "</font></br> <B>Stop Name: </B>";
echo "<font color=\"CC0033\">" . $row['StopNames'] ."</font></br><B> Time </B><font color=\"CC0033\">".$row['time']." </font></br><B> Status </B>";
echo "<font color=\"CC0033\">" . $row['Status'] . "</font> ";
echo "</br> <B> Comment's </B>: <font color=\"CC0033\">" . $row['comments'] . "</font>";
echo "</P>";
echo "<hr> ";
}
mysqli_close($con);
?>
。
function updateUserPost(str) {
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState < 4) {
showModal();
}
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
// $('#select-choice-direction-foruserpost').html(xmlhttp.responseText).selectmenu("refresh");
hideModal();
document.getElementById("result").innerHTML = xmlhttp.responseText;
//alert(xmlhttp.responseText);
}
}
xmlhttp.open("GET", "http://www.xyz.uni.me/cfv/getuserpostbybusnumber.php?q="+str, true);
xmlhttp.send();
}
把ob_start放在標題後面 –
你的腳本的哪些行是第2行和第4行?因爲我非常懷疑'ob_start()'發送頭文件,我更懷疑'intval()'產生頭文件。 – Tularis
@ferozakbar,以及如何解決問題? 'ob_start'只是開始輸出緩衝。標題是輸出的一部分(只是第一部分)。因此,稍後啓動緩衝區有助於......如何? – Tularis