私はSymfonyで作成したAPIにajaxリクエストを送信するReactで単純なアプリケーションを作成しています。私は、リアクションアプリとsymfony APIの両方を開発しています。 localhost:3000からlocalhost:8000に要求を送信しています。ここで私はここにsymfony APIへのajaxリクエストが返されません。 'Access-Control-Allow-Origin'ヘッダがありません。
addUser (data) {
console.log('made it')
let request = {
method: 'post',
url: 'http://127.0.0.1:8000/user/post',
data: JSON.stringify({'username': data}),
contentType: 'application/json'
}
$.ajax(request)
.done(data => this.addUserSuccess(data))
.fail(err => this.addUserFail(err))
}
を送信していますAjaxのリクエストは
/**
* Creates a new user entity.
*
* @Route("/post", name="user_new")
* @Method({"GET", "POST"})
*/
function newAction(Request $request) {
echo $request;
$body = $request->getContent();
$body = json_decode($body,true);
$username = $body['username'];
$user = new User($username);
$em = $this->getDoctrine()->getManager();
$em->persist($user);
$em->flush();
return new JsonResponse($user,200,array('Access-Control-Allow-Origin'=> '*'));
}
私が最初にこれまでだとあなたが見ることができるように私が作成しています要求の世話をするSymmfonyアプリがされていますパスワードやセキュリティなどのない新しいユーザー。私はちょうどそれを動作させ、アプリからapiにリクエストを送ることができるようにしたい。結果は次のとおりです
XMLHttpRequestはhttp://127.0.0.1:8000/user/postをロードできません。プリフライト要求への応答がアクセス制御チェックを通過しない:要求されたリソースに「アクセス制御許可」がない。 Origin 'http://localhost:3000'はアクセスできません。応答は、HTTPステータスコード405
を持っていた私は前にこのような多くの質問を見ていると回答の一つは、ヘッダと、あなたはそれが動作しません見ることができるようにJsonResponseを返すようにしました。
ここに私が従った答え - Origin is not allowed by Access-Control-Allow-Originがありますが、残念なことに成功しませんでした。
修正方法を教えてもらえますか?前もって感謝します!
私はあなたの質問のいくつかを見て、(HTTPS [あなた自身の答えを含む]受け入れることが適切であるかもしれない答え、といくつかに気づきました:/ /stackoverflow.blog/2009/01/06/accept-your-own-answers/)。これはあなたの問題が解決された場合、[回答を受け入れる](https://stackoverflow.com/help/someone-answers)へのフレンドリーな思い出です。 – aplum