api-router icon indicating copy to clipboard operation
api-router copied to clipboard

CORS, nefungující Access-Control-Allow-Origin

Open matak opened this issue 6 years ago • 1 comments

nenapadá někoho proč mi nefunguje CORS? potřebuji se k api dostat z jquery

` public function actionCreate() { $response = $this->getHttpResponse(); $response->addHeader('Access-Control-Allow-Origin', ""); $response->addHeader('Access-Control-Allow-Methods', ""); $response->addHeader('Access-Control-Allow-Headers', 'X-Requested-With');

	$post = $this->getRequest()->getPost();
	$this->sendJson($post);
}

`

zdá se že nette nevrací správné hlavičky

tady je jquery požadavek

` (function ($) { $.ajaxPost = function (url, data, success) { var ajaxSettings = { url: url, method: "POST", data: JSON.stringify(data), contentType: "application/json; charset=utf-8", crossDomain: true, dataType: "json", success: function (result) { if (result.status !== "ok") { alert("Napodařilo se provést požadované úpravy!"); }

						if (result.info) {
							alert(result.info);
						}

						if (success) {
							success(result);
						}
					},
					error: function (xhr, status) {
						alert("Nebylo možné zpracovat data!");
					}
				};

				$.ajax(ajaxSettings);
			};
		})(jQuery);		

`

díky za tipy jak tohle řešíte

matak avatar May 04 '18 07:05 matak

header('Access-Control-Allow-Headers: accept, content-type, authorization'); header('Access-Control-Allow-Methods: GET,POST,OPTIONS,DELETE,PUT'); header('Access-Control-Allow-Origin: *'); if ("OPTIONS" === $_SERVER['REQUEST_METHOD']) { return; } Používám v index.php hned na začátku tohle, ty allow headers si uprav podle toho, co potřebuješ

rosakovnik avatar May 05 '19 18:05 rosakovnik