我正在使用经典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")
在所有这些情况下,我将获得空值而不是文本框值。