我想通過 html 表單提供 id 和 date,然后將這些值提交給 js 控制器并使用該值(adminId 和 adminDate)執行我的端點之一。我認為缺少一些東西。
// adminForm.html
<form class="form-horizontal" role="form" ng-controller="AdminController">
<input class="form-control" id="adminId" placeholder="adminId" ng-model="formInfo">
<input class="form-control" id="adminDate" placeholder="adminDate" ng-model="formInfo">
<button type="submit" ng-click="adminUpload()" class="btn btn-success">AdminUpload</button>
</form>
// AdminController.js
define([], function() {
function AdminController($scope, $http) {
$scope.adminUpload = function() {
$http.get('/app/endpoint/$scope.adminId/$scope.adminDate').success(
function () {
alert("Something went wrong!");
}
).error(
function () {
alert("Everything fine!");
}
);
};
}
AdminController.$inject = ['$scope', '$http'];
return AdminController;
}
);
uj5u.com熱心網友回復:
您的代碼、模板和控制器中存在一些錯誤。我將一一列出來解釋并提供一個例子,
活生生的例子
https://plnkr.co/edit/G3f6X0mUVwQ4Nxj2
說明
在模板中:
- 您
ng-model
在兩個輸入中都參考了相同的模型。您應該參考不同的元素(或同一元素的不同屬性)。因此,為了示例,我使用了其他元素。 - 你的按鈕是
type=submit
. 這是一個問題,因為提交默認行為是 POST 表單資訊(并加載表單的操作)。因此,我將按鈕重新定義為按鈕。
在控制器中:
- 您沒有根據 URL 的請求插入字串。你總是在取
'/app/endpoint/$scope.adminId/$scope.adminDate'
。您應該獲取'/app/endpoint/(value of $scope.adminId)/( value of $scope.adminDate)'
. 所以我使用了模板文字(帶有反引號的字串)并將字串與變數值連接起來。 - 您以相反的順序使用成功/錯誤函式。您的成功表明“出了點問題!” 你的錯誤說“一切都很好!”
- 基于 AngularJS 檔案(https://docs.angularjs.org/api/ng/service/$http),之后沒有成功/錯誤函式
$http.get
,所以即使它們被如此使用并且它們是 AngularJS 的一部分,它們也可能是不在你的版本中。所以,我的建議是使用推薦功能then(successCallback, errorCallback)
在所有這些解釋之后,代碼將是
template
<form class="form-horizontal" role="form">
<input
class="form-control"
id="adminId"
placeholder="adminId"
ng-model="adminId"
/>
<input
class="form-control"
id="adminDate"
placeholder="adminDate"
ng-model="adminDate"
/>
<button type="button" ng-click="adminUpload()" class="btn btn-success">
AdminUpload
</button>
</form>
controller
$scope.adminUpload = function () {
const url = `/app/endpoint/${$scope.adminId}/${$scope.adminDate}`;
alert(url);
$http
.get(url)
.then(function () {
alert('Everything fine!');
}, function () {
alert('Something went wrong!');
});
};
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/507802.html
標籤:javascript html angularjs 形式