私はIonicフレームワークのAngularjsに取り組んでいます。また、データをリクエストすると、常にステータス0がエラーとして返されます。問題はHTTPアクセス制御(CORS)だと思います。しかし、私はすでにAccess-Control-Allow-Originを*として設定しています。もっと何をする必要がありますか?助けてください。ありがとうございました。
AngularJSコード
var params = {
limit: 5,
page: 1
};
$http.post('https://www.example.com/getdata.php', { params: params })
.success(function (data,status) {
console.log("Conection available . Status s" + status);
})
.error(function (data, status, headers, config) {
console.log("Error Status " + status);
});
ヘッダーを返す
Access-Control-Allow-Origin → *
Access-Control-Request-Headers → *
Access-Control-Request-Method → POST
Cache-Control → max-age=2592000
Connection → Keep-Alive
Content-Length → 1933
Content-Type → application/json
Date → Thu, 08 Sep 2016 06:47:31 GMT
Expires → Sat, 08 Oct 2016 06:47:31 GMT
Keep-Alive → timeout=5, max=100
Server → Apache/2.4.20 (Ubuntu)
更新
したがって、ブラウザログからの実際のエラーコードは
XMLHttpRequestはhttps://www.example.com/getdata.phpをロードできません。リクエストヘッダーフィールドContent-Typeは、プリフライト応答のAccess-Control-Allow-Headersでは許可されていません。
そして、Access-Control-Allow-Headersヘッダーを次のように更新してみました。
$http.post('https://www.example.com/getdata.php',
{ params: params },
{ 'Access-Control-Allow-Headers': 'application/json' })
そして、応答ヘッダーを次のように更新しました。
Access-Control-Allow-Headerss → application/json
Access-Control-Allow-Origin → *
Access-Control-Request-Headers → *
Access-Control-Request-Method → POST
Cache-Control → max-age=2592000
Connection → Keep-Alive
Content-Length → 1933
Content-Type → application/json
Date → Thu, 08 Sep 2016 07:22:03 GMT
Expires → Sat, 08 Oct 2016 07:22:03 GMT
Keep-Alive → timeout=5, max=100
Server → Apache/2.4.20 (Ubuntu)
しかし、それでも運はありません。助けてください。
リクエストヘッダーフィールドContent-Typeは、プリフライト応答のAccess-Control-Allow-Headersでは許可されていません
Access-Control-Allow-Headers
ワイルドカードはサポートしていません。を使用して*
いますが、許可されるヘッダーを明示的に指定する必要があります。
そして、Access-Control-Allow-Headersヘッダーを次のように更新してみました。
Access-Control-Allow-Headers
あるレスポンスヘッダが。クライアントではなく、サーバーに設定する必要があります。
クライアント側のJavaScriptは、他の人のデータを読み取る許可を自分自身に与えることはできません。それは許可を得るための要件を持つことを無意味にするでしょう。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加