如何可以jQuery $ .get,$ .post並獲得期望的結果,但角度不能$ http.get, $ http.post?爲什麼起源策略不適用於angular而是用於jquery?
Laravel後端,棱角前端。我正在考慮只使用jQuery,因爲它不會阻止CRUD操作在客戶端發生。
我配置$ http和$ httpProvider ...
.run(function($http){
$http.defaults.headers.common['Access-Control-Allow-Origin'] = "*";
$http.defaults.headers.common['Access-Control-Allow-Methods'] = "GET, POST, PUT, DELETE, OPTIONS";
$http.defaults.headers.common['Access-Control-Allow-Headers'] = "Authorization";
})
.config(function($httpProvider) {
$httpProvider.defaults.useXDomain = true;
})
而且laravel正在發回相應的頭......
App::after(function($request, $response)
{
// header('Access-Control-Allow-Origin', '*');
$response->headers->set('Access-Control-Allow-Origin', '*');
});
那麼奇怪的是角$ HTTP不能得到任何東西從服務器返回,併產生這個錯誤:
XMLHttpRequest cannot load http://0.0.0.0:8000/api/test. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:9000' is therefore not allowed access.
但jQuery的$不用彷徨和$。員額工作correc TLY!
$.post('http://0.0.0.0:8000/api/test', function(resp){
console.log(resp);
});
我在做什麼錯在這裏?
+1不知道要失敗的,爲什麼downvotes,這不是典型的xDomain問題 – charlietfl
是你的jQuery從localhost:9000(角度相同的地方)運行,或者它在哪裏? – Dinesh
您是否嘗試過使用其他瀏覽器?如果控制檯上有關於錯誤的更多信息,您是否也可以發佈它? – Dinesh