【发布时间】:2014-10-15 17:14:31
【问题描述】:
我正在尝试根据性别生成随机名字和姓氏并填写表格。我正在使用 angular $http 并且总体上对 angular 还是很陌生。每次加载时都会出现此错误
Use of undefined constant firstName - assumed 'firstName'
我的观点:
@section('content')
<form ng-app="getNameApp" ng-controller="getNameController">
Male<input type="radio" ng-model="gender" value="male" name="gender" /><br />
Female<input type="radio" ng-model="gender" value="female" name="gender" /><br />
<input type="text" ng-model="{{ firstName }}" name="firstName" />
<input type="text" ng-if="{{ lastName }}" value="{{ lastName.body }}" name="lastName" />
<button ng-click="randomNameController()">Randomize</button>
</form>
@stop
我的 JS
angular.module('getNameApp', [])
.controller('getNameController', getNameController);
function getNameController ($scope, $http) {
$scope.gender = 'male';
var randomName = $http({
url: '/randomName',
method: "GET",
params: {gender: $scope.gender}
});
randomName.success(function(data) {
$scope.firstName = data.firstName;
$scope.lastName = data.lastName;
});
randomName.error(function() {
document.write(randomName);
});
}
我的控制器
public function randomName () {
$faker = Faker\Factory::create();
$gender = Input::get('gender');
if ($gender == 'male') {
$names = [
'firstName' => $faker->firstNameMale
];
} else {
$names = [
'firstName' => $faker->firstNameFemale
];
}
$names['lastName'] = $faker->lastName;
return $names;
}
编辑:我检查了检查元素的网络选项卡,它说 createCharacter 出现 500 内部服务器错误。 (路由到页面)
【问题讨论】:
-
从 ngmodel 中删除括号。你不应该把它放在 ngmodel 上。
-
我很遗憾我只能投票一次,因为那太棒了。 :) 随机化按钮不起作用,但这是一个巨大的改进
-
你在
ng-click="randomNameController()到底在做什么?ng-click="randomNameController()是什么?您的数据看起来如何。这是一个例子plnkr.co/edit/ZDTO0l?p=preview -
它应该重新加载不同的名字和姓氏。我认为召回该功能会起作用。显然不是。
-
它会起作用的。但是你需要实现它。你有那个代码吗?
标签: javascript ajax angularjs laravel blade