我有一個PHP文件,其中包含一些JavaScript代碼,我使用HTML中的腳本標記調用該文件。我的問題是,當我在PHP中有一個get方法,Java的功能將不echo..here是我的代碼:Javascript函數不會回顯
Header("content-type: application/x-javascript");
$monthS = $_GET['location'];
// Connect to MySQL
if (!($database = mysql_connect("localhost",
"root", "")))
die("Could not connect to database </body></html>");
// open Events database
if (!mysql_select_db("Events", $database))
die("Could not open Events database </body></html>");
$result = mysql_query("SELECT * FROM posted_events WHERE Month_ = 'July' ")
or die ('Error updating database because: '.mysql_error());;
$daysArray = Array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$daysArray[] = $row['DayNum']; }
$length = count($daysArray);
echo "function test() { ";
echo "alert('monthS');";
for($i=0; $i < $length; $i++) {
echo "var active = document.getElementById('day'+".$daysArray[$i].");
active.setAttribute('class', active.getAttribute('class') + ' event'); ";
}
echo "}";
但是,如果我完全除去$monthS = $_GET['location'];
那麼函數回聲,但我需要這個變量。我使用JQuery從JS獲得了這個變量。
這段代碼在做什麼太可怕了。它宣稱它會生成Javascript(使用錯誤的MIME類型),然後在錯誤中混合使用純文本和HTML(兩者都不是有效的Javascript)。當然,如果有任何(人類可讀的)錯誤輸出生成,例如「未定義索引$ _GET [位置]」,也會中斷輸出。請考慮所有這些問題並重新訪問代碼以使其更緊密。 – Jon
打開錯誤報告並查看顯示的消息。很可能你沒有正確設置'location'。你可以用'print_r($ _ GET)'或['array_key_exists()'](http://php.net/manual/en/function.array-key-exists.php)來測試 – jedwards
'$ _GET [ '位置']'通過了?你是否得到了一個PHP通知,導致你的輸出被搞砸了?順便說一下,你似乎沒有正確地使用變量,在你試圖將它輸出到alert()中。你只是輸出一個'monthS'的文字串而不是一個變量。 –