AngularJS HTTP POST和使用Classic ASP请求数据

时间:2018-03-21 05:19:17

标签: angularjs http vbscript asp-classic

我正在使用经典ASP的AngularJS。

虽然我在经典asp中创建了一个简单的表单并通过AngularJS HTTP POST mathod提交它,而在另一方面,当我试图在另一个页面中获取POST变量值时,我得到一个空值。

实际上,在调用HTTP POST方法时,我可以在浏览器网络模式中看到数据已发送到给定的URL,但在给定的URL页面,我无法检索发布的数据。

这是我的代码

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.4/angular.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular-sanitize.js"></script>
</head>
<body>
<div ng-app="CallSiteVisitor" ng-controller="SessionAndVisitor">
  <form ng-submit="SaveData()" >
    <input type="text" name="firstname" ng-model="form.firstname">
    <input type="text" name="lastname" ng-model="form.lastname">
    <input type="submit">
  </form>
</div>
var app = angular.module('CallSiteVisitor', ['ngSanitize']);

app.controller('SessionAndVisitor', function($scope, $http) {
    $scope.form = {};

    $scope.SaveData = function() {
        $http({
            method  : 'POST',
            url     : '/XXXX.asp',
            data    : $scope.form,
            headers : { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' }
        })

        .success(function(data) {
            if (data.errors) {
                $scope.errorName = data.errors.name;
                $scope.errorUserName = data.errors.username;
                $scope.errorEmail = data.errors.email;
            } else {
                $scope.message = data.message;
            }
        });
    };
});

这里我尝试了多种方式来获取POST变量,如

Response.Write request("firstname")
Response.Write request.Form("firstname")
Response.Write request.Form("form.firstname")

在所有这些情况下,我将获得空值而不是文本框值。

0 个答案:

没有答案