【发布时间】:2015-09-25 09:48:57
【问题描述】:
所以我有一个最终用户,他们正在全局 div 上提交一个带有打开弹出窗口的按钮的表单。
长话短说,他们填写此表单并使用 Angular RESTing 方法提交 HTTP 方法。
我试图弄清楚如何从用户访问弹出窗口的位置获取当前 URL,或从其提交。
我想将该 URL 放入 SQL 数据库中,以了解用户在哪里发现错误或从哪里单击此按钮(弹出窗口的目的是获取信息和接收反馈)
解决这个问题的正确方法是什么?
$windows.location?
$Location?
$routeparams?
我真的需要一些帮助。我将在下面发布我的客户端角度,接受这些请求并将其放入 SQL 数据库的后端由我的 C# 控制器完成。
(function() {
'use strict';
var commonModule = angular.module('ambassadors.commonModule');
commonModule.service('commonService', ['$http', '$q', function($http, $q) {
this.getSettingsView = function() {
var deferred = $q.defer();
$http.get('/api/settings')
.success(function(response) {
deferred.resolve(response);
})
.error(function() {
deferred.reject();
});
return deferred.promise;
};
this.getUserClaims = function() {
var deferred = $q.defer();
$http.get('/api/profile')
.success(function(response) {
deferred.resolve(response);
})
.error(function(response) {
deferred.reject(response);
});
return deferred.promise;
};
this.submitFeedback = function(feedback, file) {
var deferred = $q.defer();
if (file != null) {
var that = this;
this.uploadFile(file).then(
// Success Handler
function(result) {
// update the scec icon in the controller
feedback.FeedbackUpload = result[0].location;
that.postFeedback(feedback, deferred);
},
// Failure Handler
function() {
$scope.messageInfo = "Error uploading feedback file";
return deferred.reject;
});
} else
this.postFeedback(feedback, deferred);
return deferred.promise;
};
this.postFeedback = function(feedback, deferred) {
$http.post('/api/feedback', feedback)
.success(function() {
deferred.resolve();
})
.error(function() {
deferred.reject();
});
}
this.uploadFile = function(file) {
// As per stackoverflow.com/questions/…
// uncorkedstudios.com/blog/…
var feedbackFileFormData = new FormData();
feedbackFileFormData.append("file", file);
var deferred = $q.defer();
$http.post('/api/feedbackfile', feedbackFileFormData, {
withCredentials: true,
headers: {
'Content-Type': undefined
},
transformRequest: angular.identity
})
.success(function(response) {
deferred.resolve(response);
})
.error(function() {
deferred.reject();
});
return deferred.promise;
};
}]);
})();
【问题讨论】:
标签: javascript c# sql angularjs