問題
當我嘗試發佈的數據,我得到的錯誤。當然,我做錯了什麼,也是即時新的角度。當我做得很好,但我不知道如何做POST。
控制器
myApp.controller('createListController', ['$scope', '$log', '$http',
function($scope, $log, $http){
$http({
method: 'POST',
url: 'http://localhost:8888/lists',
data: $scope.name
})
}]);
HTML
<form method="post" action="" >
<label>List name</label>
<input type="text" ng-model="name" name="name" class="form-control" placeholder="Type list name" />
<button type="submit" ng-model="submit" name="submit" class="btn btn-primary form-control">Add list</button>
</form>
Laravel rout.php
Route::group(['middleware' => 'cors'], function() {
Route::get('lists', '[email protected]');
Route::post('lists', '[email protected]');
});
Laravel中間件
class Cors
{
public function handle($request, Closure $next)
{
$response = $next($request);
$response->headers->set('Access-Control-Allow-Origin', '*');
$response->headers->set(
'Access-Control-Allow-Headers',
'Authorization, Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since'
);
$response->headers->set('Access-Control-Allow-Credentials', 'true');
$response->headers->set('Access-Control-Allow-Methods', '*');
return $response;
}
}
Laravel kernel.php
protected $routeMiddleware = [
'cors' => \App\Http\Middleware\Cors::class,
];
}
嘗試與
myApp.controller('createListController', ['$scope', '$log', '$http',
function($scope, $log, $http){
if ($scope.submit == true){
$http({
method: 'POST',
url: 'http://localhost:8888/lists',
data: {name: 'text'}
})
.success(function() {
console.log('true');
})
.error(function(){
console.log('false');
})
}
}]);
解決,但它不工作了。我不知道我做錯了,如何發佈數據的權利..
錯誤消息從控制檯
錯誤:XMLHttpRequest的無法加載本地主機:8888 /列表。請求的資源上沒有「Access-Control-Allow-Origin」標題。 Origin'localhost';因此不被允許訪問。
問題
如何解決這個錯誤,並得到角JS $ HTTP POST與laravel?
我的意見
我覺得有什麼不對的角度控制器,它不能從形式或類似的東西,也許數據。
你得到的錯誤是什麼? –
只是說,你應該把你的實際http請求放在服務/工廠中,然後在你的控制器中調用它 –
控制檯出錯: XMLHttpRequest無法加載http:// localhost:8888/lists。請求的資源上沒有「Access-Control-Allow-Origin」標題。因此不允許Origin'http:// localhost'訪問。 false – rincuuk