2016-04-23 14 views
0

私は2つのプロジェクトに取り組んでいます。最初のものは主にクライアント側(AngularJS + MVC)の開発であり、2番目はWeb APIを含むサーバー側です。 Web APIをコントローラとして使用したい。2つのプロジェクト間のリクエストと応答

サーバープロジェクトをスタートアッププロジェクトとして設定しました。次に、そのURL(localhost:.... /)をコントローラのURLとして設定し、プロジェクトを実行します。その後、ブラウザでの表示で、私は私の視点も走った。 (クライアントプロジェクトから)。リクエストは2番目のプロジェクトからAPIコントローラに正しく到達しますが、レスポンスは予約されていません。私は問題はURLの違いだと思う。

あなたの意見は?そして、私はどうしたらいいですか?

答えて

0

あなたはどんな反応を得ていますか? 200(OK)の状態か他の何か? Web APIでCORSを有効にしておらず、Angularプロジェクトのクライアント側からapiリクエストを作成している場合は、cross orginリクエストエラーが発生している可能性があります。

+0

ブラウザでデバッグモードをチェックしましたが、結果の長さは744文字でした。しかし、応答は空です。 – Elnaz

+0

エラーはありません。 – Elnaz

+1

角度クライアントからではなく、POSTMAN(クロムプラグイン)のようなレストクライアントから電話をかけるときにAPIが返すものを確認しましたか?それはAPI自体をテストし、返される応答が何であるかを調べることです。データが表示されている場合は、この方法で返されます。つまり、あなたのAPIは正常です。問題は、角度のあるクライアントからapiを呼び出すことです。 – SolomonT

0

私の貧しい英語は気にしないでください。

2つのプロジェクトが同じドメインに配信されていますか?そうでない場合は、クロスオリジン要求エラーがあります。いくつかのヘッダーを追加することで修正できます。 header('Access-Control-Allow-Origin','*'); header('Access-Control-Allow-Methods', 'GET,POST,DELETE,PUT,PATCH'); header('Access-Control-Allow-Headers','Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With');

+0

要求されたリソースに 'Access-Control-Allow-Origin'ヘッダーが存在しません。 Origin 'http:// localhost:.......'はアクセスが許可されていません。しかし、私はあなたが言ったようにヘッダを設定しました。 Web APIプロジェクトで何をすべきですか? – Elnaz

+0

これらのヘッダーはリクエストではなくレスポンスに設定する必要があります。 – luckyqiao

関連する問題