簡體   English   中英

無論如何,就像在PHP中(嵌入到doc中一樣)在服務器端使用js嗎?

[英]Is there anyway to use js on the server-side just like I would with PHP (embedded in doc)?

我對PHP既喜歡又討厭的功能之一就是能夠將代碼嵌入HTML。 好處是能夠看到我的代碼流。 缺點是混亂的意大利面條式代碼有時會變得難以閱讀。

例如,我正在尋找可以將js代碼作為預處理的服務器端代碼在發送給客戶端之前在后端執行的東西。 該代碼可以像PHP一樣嵌入到我的HTML文檔中。 也許服務器端JS將被包裝在特殊的分隔符中以表示它已被預處理。

<?js //start of preprocessed, server-side JS code

const hostname = "myhn";
const username = "root";
const passcode = "mypassword";
const dbname = "mydatabase";

var conn = new mysqli(hostname, username, passcode, dbname);
if (conn.connect_error) {

die();

} else {

let userId = 1;

const qry = "SELECT * FROM users WHERE user_id = ?";
const getUser = conn.prepare(qry);
getUser.bindParam('i',userId);
getUser.execute();
const result = getUser.fetchResult();

while(var row = result.fetchObject()){

    var firstName = row.firstName;
    var points = row.points;

}

?> //end of server-side JS code 

<p>Welcome, <a id="settings"><?js document.write(firstName); ?></a>. You have 
<?js document.write(points); ?> points. </p>

<script type="text/javascript">
    document.querySelector('#settings').addEventListener('click',()=>{

        window.confirm("Do you wish to alter your settings>");

    });

</script>

<?js 
}
?>

例如,這是否作為NodeJS的功能存在?

您可以使用node.jsejs項目: https : //www.npmjs.com/package/ejs

在服務器端,您可以創建包含以下代碼的頁面(也稱為views ):

<% if (user) { %>
  <h2><%= user.name %></h2>
<% } %>

您應該閱讀其文檔並嘗試一下。

為此,您必須將Node js與ejs或jade引擎一起使用:-

var mysql = require('mysql');
var con = mysql.createConnection({
  host: "localhost",
  user: "user",
  password: "pwd",
  database: "db"
});

con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM