2013-05-31 25 views
0

我現在有一個基本形式的設置與控制器發送參數,當用戶提交表單時,這個功能是跑:AngularJS:資源不具有未定義瓦爾

$scope.create = function(email, username, password) { 
MyService.get({ 
    action: 'create', 
    email: email, 
    username: username, 
    password: password 
}, function(data) { 
    // Success callback 
}); 
}; 

的問題是,如果用戶用空字段提交表單,接收此請求的php會爲該字段引發未定義的索引錯誤。

例如:用戶未填寫電子郵件並按提交。 PHP引發錯誤,因爲$_GET['email']是一個未定義的索引。

如何獲取它,以便資源只在字段爲空時發送空值? (我寧願這在php添加array_key_exists支票或喜歡的一切)

回答

1

只需指定空字符串作爲後備值,如:

MyService.get({ 
    action: 'create', 
    email: email || '', 
    username: username || '', 
    password: password || '' 
}), // .. 

但讓我告訴你:靠客戶端驗證只有通常是不好的做法。我希望這是一個內部項目,它永遠不會有一些邪惡的行爲者誤入歧途。否則,你最好在你的服務器代碼中使用isset|empty

+0

是的,這樣做。這實際上只是這個服務器和api服務器之間的一些中間件,所以我不必對jsonp做任何事情,並且可以在發送給api之前編輯一些內容。 api完成所有的檢查。 –

相關問題