我試圖使用JS來指導用戶登錄他們的個人資料頁面。我需要獲取URL中的配置文件ID,但它不起作用。在JS文件中使用PHP
if(data == 'success'){
window.location = 'profile.php?id=<?= $user_id ?>';
} else {
$('#signin_errors').html(data);
}
有什麼建議嗎?
我試圖使用JS來指導用戶登錄他們的個人資料頁面。我需要獲取URL中的配置文件ID,但它不起作用。在JS文件中使用PHP
if(data == 'success'){
window.location = 'profile.php?id=<?= $user_id ?>';
} else {
$('#signin_errors').html(data);
}
有什麼建議嗎?
如果這是它<script src="blah.php"></script>
列入<script src="blah.js"></script>
變化的文件,並在blah.php
<?php header("Content-type: application/x-javascript");
$user_id = "whatever"; ?>
if(data == 'success'){
window.location = 'profile.php?id=<?php echo $user_id ?>';
} else {
$('#signin_errors').html(data);
}
如果你可以直接把這個給PHP文件這將您的服務器將不承認它工作。例如:
<?php
echo "blablabla";
?>
<script>
if(data == 'success'){
window.location = 'profile.php?id=<?= $user_id ?>';
} else {
$('#signin_errors').html(data);
}
</script>
但是,如果你把這個給js文件,它不會工作!因爲它不是PHP文件,所以它是JS文件。 Apache不會讀取JS文件中的php代碼。
堅持這個代碼就加入這行到你的.htaccess
AddType application/x-httpd-php .php .js
你要打印或回聲變量。
if(data == 'success'){
window.location = 'profile.php?id=<?php print $user_id; ?>';
}
else {
$('#signin_errors').html(data);
}
我認爲最好的方法是在php文件中執行此操作,並在其中回顯您想要的腳本。一定要逃避所需的字符。
喜歡的東西:
echo "<script type=\"text/javascript\">
window.addEvent('domready', function() {
myjavascriptcode();
$('mybutton').set('html', '<input id=\"mybutton\" type=\"submit\" value=\"" . $php_variable . "\" />');
});
</script>";
你有短PHP標籤從php.ini中開啓?或使用完整的PHP標籤。 – Sarfraz
你有[short_tags啓用](http://php.net/manual/ini.core.php)? –
正如答案所述,確保它在一個PHP文件(或者您設置爲使用PHP進行處理的文件)中。 –