Javascript AngularJS:资源未发送带有未定义变量的参数
我目前有一个带有控制器的基本表单设置,当用户提交表单时,将运行此功能:Javascript AngularJS:资源未发送带有未定义变量的参数,javascript,angularjs,Javascript,Angularjs,我目前有一个带有控制器的基本表单设置,当用户提交表单时,将运行此功能: $scope.create = function(email, username, password) { MyService.get({ action: 'create', email: email, username: username, password: password }, function(data) { // Success callback }); }; 问题是,如
$scope.create = function(email, username, password) {
MyService.get({
action: 'create',
email: email,
username: username,
password: password
}, function(data) {
// Success callback
});
};
问题是,如果用户提交的表单中有一个空字段,则接收该请求的php会为该字段抛出一个未定义的索引错误
例如:用户不填写电子邮件并按提交。php抛出一个错误,因为$\u GET['email']
是一个未定义的索引
如果字段为空,如何获取该字段以使资源只发送一个空值?(我更喜欢这样做,而不是添加
array\u key\u exists
检查php中的所有内容)只需将空字符串指定为回退值,如下所示:
MyService.get({
action: 'create',
email: email || '',
username: username || '',
password: password || ''
}), // ..
但让我告诉你们:仅仅依靠客户端验证通常是一种糟糕的做法。我希望这是一个内部项目,它永远不会让一些邪恶的人把这些请求引入歧途。否则,您最好在服务器代码中使用
isset | empty
。是的,就是这样。这实际上只是一个介于这个服务器和一个api服务器之间的中间件,所以我不需要对jsonp做任何事情,可以在将它发送到api之前编辑一些东西。api执行所有检查。