簡體   English   中英

如何將表單數據從控制器發送到連接文件

[英]How to send form data from controller to connection file

我正在嘗試使用Angularjs和node.js設計登錄頁面,並且在將數據從控制器發送到我的數據庫連接文件時出錯,我將在其中執行數據庫事務。

錯誤是POST http:// localhost:63342 / logindata 404(未找到),並且在說明中指向$http.post('/logindata', $scope.user);

在此處輸入圖片說明

這是我的代碼

Login.html

<!DOCTYPE html>
<html lang="en-US">

<head>
    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
</head>
<body>

<div ng-app="" ng-controller="LoginControl">

    User Name : <input type="text" ng-model="user.username">
    Password : <input type="password" ng-model="user.password">
    <br>
    <button ng-click='authentication()'>Submit</button>
</div>

<script src="myLoginController.js"></script>

</body>
</html>

</body>
</html>

myLoginController.js

function LoginControl($scope, $http){
    console.log("Hello...");

    $scope.authentication = function() {
       console.log($scope.user);

        $http.post('/logindata', $scope.user);
    };

}

connection.js

 var express = require('express');
 var bodyParser = require('body-parser');
 var app = express();

 app.use(express.static(__dirname + "/public/angular"));   
 app.use(bodyParser.json());

 app.post('/logindata', function (request,response) {
     console.log("received data");
     console.log(request.body);
 });

 app.listen(3000);
 console.log('Server running on 3000');

任何人都可以建議我如何解決此問題? 謝謝

服務器在端口3000上運行,您的請求是到端口63342。這就是問題所在。 代碼本身很好。

您應該在http:// localhost:3000而不是其他端口上打開網站。

為了使其在您的開發環境中工作,您可以執行以下操作:

  1. 將控制器中的發布URL更改為http:// localhost:3000 / logindata
  2. 如果您使用的是Chrome,請添加擴展名-Allow-Control-Allow-Origin並啟用它。

您的代碼現在應該可以工作了。

您正在嘗試執行跨源資源共享(CORS),默認情況下瀏覽器是不允許的。 Chrome擴展程序通過在請求中添加必需的標題來使其工作。

暫無
暫無

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

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