2016-11-08 5 views
0

私はログインシステムでブロックされていますが、現在はIonicを使ってモバイルアプリケーションを開発しています。その目的は、ユーザーがPOSTで入力した情報を送信し、サイトはそれをすべてチェックし、その結果を中心にIonic-Access-Control-Allow-Origin

を回すしかし、私は次のようなエラーがあります。

XMLHttpRequest cannot load http://myfinance.byethost11.com/MyFinanceAPI/index.php. Origin http://localhost:8100 is not allowed by Access-Control-Allow-Origin. 

はまだ私は、クロスドメインの情報を検索しようとしましたが、それを実行することは不可能てきたが...私はそれが来ると思います私のサーバーの設定やそこからapi ..しかし、私はあなたが解決策を持っている場合はどうすればいいのか分からないのですか?

マイイオンコントローラー:

controller('LoginCtrl', function($scope, $http, $log,$state){ 
    $scope.user = {}; 
    $scope.login = function() { 
    var request = { 
     method: "post", 
     url: "http://myfinance.byethost11.com/MyFinanceAPI/index.php", 
     data: { 
     user: $scope.user.username, 
     password: $scope.user.password 
    }, 
    headers: { 'Content-Type': 'application/x-www-form-urlencoded' } 
    }; 
    $http(request).then(function (response){ 
     if (response.data == '1'){ 
     alert('Bienvenue !'); 
     $state.go('home'); 
     } 
     else { 
     alert('Connexion impossible'); 
     } 
    }) 
    } 
}) 

マイAPI:事前に

<?php 
header("Access-Control-Allow-Origin: *"); 
$postdata = file_get_contents("php://input"); 
$request = json_decode($postdata); 
$user = $request->user; 
$password = $request->password; 

if($user == 'test'){ 
    echo '1'; 
}else{ 
    echo '0'; 
} 

感謝:)

+0

多分これはhttp://ionicinaction.com/blog/how-to-fix-cors-problems-and-no-access-control-allow-origin-header-errors-with-ionic/を助けます –

答えて

0

それを試してみて、それが仕事なら、私に知らせてください。

if (isset($_SERVER['HTTP_ORIGIN'])) { 
    header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}"); 
    header('Access-Control-Allow-Credentials: true'); 
    header('Access-Control-Max-Age: 86400'); 
} 

// Access-Control headers are received during OPTIONS requests 
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') { 

    if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) 
     header("Access-Control-Allow-Methods: GET, POST, OPTIONS");   

    if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) 
     header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}"); 

    exit(0); 
} 

echo "You have CORS!"; 
+0

私はちょうど今試しました。私は私のPHPファイル(API)にこのコードを入れましたが、いつも同じエラーが発生しました... –

+0

ok私はこの情報が多分あなたに役立つかもしれませんhttp://blog.ionic.io/handling-cors-issues-in- ionic/ –

+0

私は他のホスト上でテストをしており、この行ヘッダ( "Access-Control-Allow-Origin:*")だけで動作します。私は理解していない..しかし、それは動作します! –