Javascript 未定义常数与角度
我试图有一个随机的名字和姓氏生成的基础上性别和填写到一个表格。我使用的是angularJavascript 未定义常数与角度,javascript,ajax,angularjs,laravel,blade,Javascript,Ajax,Angularjs,Laravel,Blade,我试图有一个随机的名字和姓氏生成的基础上性别和填写到一个表格。我使用的是angular$http,一般来说,我对angular非常陌生。每次加载 Use of undefined constant firstName - assumed 'firstName' 我的看法是: @section('content') <form ng-app="getNameApp" ng-controller="getNameController"> Male<input ty
$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
}
我的控制器
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;
}
编辑:我检查了inspect元素的network选项卡,它显示createCharacter存在500个内部服务器错误。(发送到页面)我没有看到这种错误,但是您有一个问题,您正在尝试从promise获得名字
randomName.success(function() {
$scope.firstName = randomName.firstName; //<-- Here randomName is a promise not data
$scope.lastName = randomName.lastName;
});
因此,这个问题的直接答案似乎是,
ng model=“”
上没有括号。也就是说,我的代码中有很多问题,下面是它的工作版本。希望它能帮助有类似问题的人。我知道这不是最干净的
这段代码创建了一个基于性别随机生成名称的表单。您可以选择性别,然后单击“随机”以填充其他名称。我正在使用库生成一个名称
视图:
函数getNameController($scope,$http){
$scope.gender='男性'
$scope.generate = function (gender) {
var randomName = $http({
url: '/randomName',
method: "GET",
params: {gender: gender}
});
randomName.success(function (data) {
var names = {
firstName: data.firstName,
lastName: data.lastName
};
$scope.firstName = names.firstName;
$scope.lastName = names.lastName;
});
randomName.error(function () {
document.write(randomName);
});
return $scope;
};
$scope.generate($scope.gender);
}
控制器:
public function randomName () {
$faker = Faker\Factory::create();
$gender = Input::get('gender');
if ($gender == 'male') {
$names = [
'firstName' => $faker->firstNameMale
];
} else if ($gender == 'female') {
$names = [
'firstName' => $faker->firstNameFemale
];
}
$names['lastName'] = $faker->lastName;
return $names;
}
你正在显示firstname,它是一个对象作为值?它甚至没有加载js函数。但是有新问题。我以前犯过错误,提出一个新问题,或者编辑这个问题?从ngmodel中删除括号。你不应该把它放在ngmodel中。我很难过,我只能投一次票,因为这太棒了。:)随机化,但ton不起作用,但这是一个巨大的改进您在这里实际做了什么?您的数据是什么样子的。下面是一个例子,它应该重新加载不同的名字和姓氏。我认为调用函数会起作用。显然不会。它会起作用。但您需要实现它。您有代码吗?我使用document.write作为测试代码的快速方法。我想我需要
返回$sc操作
,因为它位于一个函数中。
<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-model="lastName" name="lastName" />
<button ng-click="generate(gender)">Randomize</button>
</form>
angular.module('getNameApp', []).controller('getNameController', getNameController);
$scope.generate = function (gender) {
var randomName = $http({
url: '/randomName',
method: "GET",
params: {gender: gender}
});
randomName.success(function (data) {
var names = {
firstName: data.firstName,
lastName: data.lastName
};
$scope.firstName = names.firstName;
$scope.lastName = names.lastName;
});
randomName.error(function () {
document.write(randomName);
});
return $scope;
};
$scope.generate($scope.gender);
}
public function randomName () {
$faker = Faker\Factory::create();
$gender = Input::get('gender');
if ($gender == 'male') {
$names = [
'firstName' => $faker->firstNameMale
];
} else if ($gender == 'female') {
$names = [
'firstName' => $faker->firstNameFemale
];
}
$names['lastName'] = $faker->lastName;
return $names;
}