我正在展示一个简单的应用程序,即 angularjs 和 nodejs 都适用于 https。首先将此应用程序保存在服务器(整个文件夹)中。其次创建一个 public 文件夹并将这个index.html 文件放入其中。这是它的代码
<!DOCTYPE html>
<html lang="en">
<head>
<script src="angular.min.js"></script>
<script src="app.js"></script>
</head>
<body ng-app="myApp">
<div ng-controller="myCtrl">
<form>
Author:
<input type="text" ng-model="data.author">
<br>
<br> Title:
<input type="text" ng-model="data.title">
<br>
<br> Body:
<input type="author" ng-model="data.body">
<br>
<br>
<input type="submit" value="Submit" ng-click="submit()">
</form>
</div>
</body>
</html>
这是角码将文件保存为app.js在public文件夹中。
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope,$http) {
$scope.data = {};
$scope.submit= function(){
console.log('clicked submit');
$http({
url: 'https://localhost:3443/blah',
method: 'POST',
data: $scope.data
}).then(function (httpResponse) {
console.log('response:', httpResponse);
})
}
});
您需要有angular.min.js 文件。将此文件保存在public 文件夹中。我对这个文件了解不多。基本上我来自后端。我对此的理解是没有这个文件我们无法加载角度代码。所以这里是文件https://github.com/Syedayesha/MEAN-Stack/blob/master/public/angular.min.js的链接。
接下来服务器代码将文件保存为server.js。将此文件保存在根文件夹中。
var express = require('express');
var bodyParser = require('body-parser');
var mysql = require('mysql');
var app = express();
var fs=require('fs');
var http=require('http');
var https=require('https');
app.use(bodyParser.json({limit: '50mb'}));
app.use(express.static('public'));
var connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '',
database: 'testn'
});
connection.connect();
var options = {
key: fs.readFileSync('privkey.pem'),
cert: fs.readFileSync('cert.pem')
}
app.post('/blah', function(req, res, next) {
var cope = req.body;
console.log('request received:', req.body);
var query = connection.query('insert into form set ?', cope, function (err, result) {
if (err) {
console.error(err);
return res.send(err);
} else {
return res.send('Ok');
}
});
//res.send('received the data.');
});
var server = http.createServer(app).listen(3000);
var server1 = https.createServer(options,app).listen(3443);
console.log('server running on 3443');
在这里,我与mysqldb 建立了联系。您需要在server.js 的 options 变量附近提供您的域 ssl 证书。您需要在根文件夹中有 ssl 证书。您可以从我的 github 下载整个项目。这是链接https://github.com/Syedayesha/MEAN-Stack。
使用node server.js运行节点服务器,打开浏览器输入https://localhost:3443/index.html。就是这样 !!!您将获得index.html 文件并输入数据并检查数据是否存储在db 中。实际上我正在使用 xampp,所以我使用的是 apache 服务器。这样我就将 url 作为 localhost 运行。您可以使用您的站点名称 example https://example.com:3443/index.html 运行 url。您需要将 角码 app.js 中的url 更改为https://example.com:3443/blah。希望对您有所帮助。