2016-05-02 9 views
0

APIを使用してTrueMDから薬名を取得しようとしています。私はローカルホストからこれを使用しています。その理由から、Webサービスのセキュリティには、「Access-Control-Allow-Origin」もnullとして、セキュリティの同じエラーが含まれています。私が行方不明になっていることは何ですか?角を使用してデータを取得するAPI呼び出しでエラーが発生する

$scope.medicines = []; 
    var search = "crocin"; 
    var api_key = "API_KEY"; 

    $http.get("http://www.truemd.in/api/medicine_suggestions?id=" + search + "?key=" + api_key) 
    .then(function(response){ 
     response.header('Access-Control-Allow-Origin', "null"); 
     $scope.medicines = response.data; 
     console.log($scope.medicine); 
    }); 
+0

エラーは** XMLHttpRequestはhttp://www.truemd.in/api/medicine_suggestions?id=crocin?key=api_keyをロードできません。 「http:// localhost:8080」の発信元はアクセスが許可されていませんHTTPレスポンスコントロール401:** – Anudeep

答えて

1

あなたのGETリクエストは無効ですので。複数の引数を使用する場合、使用する区切り文字は '&'です。

あなたの要求は次のようになります。 「http://truemd.in/api/medicine_suggestions?id=crocin&key=XXXX

したがって、あなたのコードはすべき

$http.get("http://www.truemd.in/api/medicine_suggestions?id=" + search + "&key=" + api_key) 
.then(function(response){ 
    ... 
} 

PSのようになります。「アクセス制御 - 許可 - 起源は、」サーバー側でありますヘッダ。要求にそれを設定することは何もしません。あなたはそれを取り除くことができます。

PS 2:サーバーレスポンスのヘッダーを変更しようとしています。これは意味がありません。私はそれが動作する方法を誤解していると思う:(

関連する問題