你好我是新來的角,我一直在試圖提交一個表單,並檢查我的MySQL數據庫,如果用戶存在。我所有的代碼都可以工作,因爲當我將json直接放入我的php/codeigniter代碼中時,我得到了即時尋找的員工。我認爲我的問題是將數據從我的角度轉移到php。角度如何做一個表單提交與AJAX
這是我的HTML
<div class="login-content">
<form ng-controller="loginController" ng-submit="processForm()" class='margin-bottom-0' accept-charset="utf-8">
<div class="form-group m-b-20">
<input type="text" ng-model="formData.AccessKey" required="true" id="AccessKey" class="form-control input-lg" placeholder="Access Key" />
</div>
<div class="form-group m-b-20">
<input type="password" ng-model="formData.Password" required="true" id="Password" class="form-control input-lg" placeholder="Password" />
</div>
<div class="login-buttons">
<button type="submit" name="IsPostBack" value="true" class="btn btn-primary btn-block btn-lg">Login</button>
</div>
</form>
</div>
此
app.controller('loginController', function($scope, $http){
$scope.processForm = function(){
$http({
method : 'GET',
url : 'http://localhost:8888/employees/login',
data : $scope.formData = {},
header : {'Content-Type': 'application/x-www-form-urlencoded'}
})
.success(function(data){
console.log(data);
})
};
});
這是我的PHP IM使用笨框架是我的角的代碼。這是控制器
public function login()
{
$this->employees_model->login();
}
這是我在PHP模型
public function login()
{
$data = $this->input->get('data');
//$data = '{"AccessKey":"[email protected]","Password":"candoa21"}';
$data = json_decode($data);
$AccessKey = $data->AccessKey;
$Password = $data->Password;
$sql = "SELECT *
FROM Employees
WHERE Employees.AccessKey = ?
AND Employees.Password = ?";
$query = $this->db->query($sql, array($AccessKey, $Password));
if($query->num_rows() > 0)
{
$query = json_encode($query->result());
return $this->output
->set_content_type('application/json')
->set_output($query);
}
else
{
return 'Invalid AccessKey Or Password';
}
}
這是錯誤即時得到
試圖讓非對象的財產線173
線173 $ AccessKey = $ data-> AccessKey;
所以不知何故,我不認爲即時傳遞值正確。
能否請您在登錄角本,看看你逝去的是什麼? '$ scope.formData' –
我在console.log中得到這個錯誤:XMLHttpRequest無法加載http:// localhost:8888/employees/login。請求的資源上沒有「Access-Control-Allow-Origin」標題。原因'http:// app:8888'因此不被允許訪問。 http:// app:8888是我目前的應用程序,我試圖通過http:// localhost:8888/employees/login獲取信息。 formData傳遞{「AccessKey」:「[email protected]」,「密碼」:「candoa21」} – user3862830
閱讀以下內容:http://en.wikipedia.org/wiki/Cross-origin_resource_sharing –