جستجو در بخش : سوال جواب منابع اسلامی لغت نامه ها قوانین و مصوبات نقل قل ها
×

فرم ورود

ورود با گوگل ورود با گوگل ورود با تلگرام ورود با تلگرام
رمز عبور را فراموش کرده ام عضو نیستم، می خواهم عضو شوم
×

×

آدرس بخش انتخاب شده


جهت کپی کردن میتوانید از دکمه های Ctrl + C استفاده کنید
رویداد ها - امتیازات
در حال بارگذاری
×

رویداد ها - امتیازات

برای بررسی عملکرد فعالیت و امتیازات خود باید در وب سایت وارد باشید. در صورت عضویت از بخش بالای صفحه وارد شوید، در غیر این صورت از دکمه پایین، مستقیم به صفحه ثبت نام وارد شوید.

×
×
×

دلیل درخواست بستن پست

کلیه پست هایی که جنبه تبلیغاتی داشته، محتوای اسپم و بی مفهوم در این دسته قرار میگیرند. همچنین پست هایی که به منظور گرفتن بک لینک درج می شوند شامل این مورد هستند.
حاوی مفاهیم غیر اخلاقی، سیاسی و یا توهین آمیز. کلیه پست هایی که از نظر محتوایی نیاز به بررسی و یا حذف شدن دارند در این دسته قرار می گیرند.
محتوایی با عدم جزئیات کافی و مورد نیاز. کلیه پست هایی که منظور نویسنده به وضوح مشخص نیست و نیازمند توضیحات و جزئیات بیشتر می باشند در این دسته قرار می گیرند.
محتوایی بی ربط با موضوعیت سرفصل کلی. کلیه پست هایی که از منظر مفهوم و مضمون ارتباطی با عنوان اصلی سوال ندارند در این دسته قرار می گیرند.
محتوایی دلخواه و بر پایه سلیقه. کلیه پست هایی که یک پاسخ مشخص ندارند و متوانند چندین پاسخ متفاوت و صحیح داشته باشند که کاملا مبتنی بر نظر شخصی افراد هستند در این دسته قرار می گیرند.
محتوایی در حوزه خیلی وسیع. کلیه پست هایی که از نظر محتوایی در یک حوزه ی وسیعی قرار دارند و مشخصا به یک موضوع خاصی اشاره ندارند که پاسخدهی به آن ها مستلزم تشریح مفاهیمی کلی می باشند در این دسته قرار می گیرند.
قبلا در لام تا کام مطرح شده. پست هایی که دقیقا با همین محتوا و مضمون قبلا در وب سایت لام تا کام درج شده اند، با ذکر آدرس منبع تکراری با پست حال حاضر شامل این دسته هستند. تکراری است با:
به سایر دلایل، نیازمند به بررسی توسط مدیر. به هر دلیل غیری که پست را نیازمند بررسی توسط مدیر کرده، با ذکر دلیل، در این دسته قرار میگیرد.
ارسال رای بستن

مشکل با CORS در سمت کلاینت


1
0
2464

سلام دوستان من هر درخواستی با هر متدی میفرستم به api متودش به options تغییر میکنه جواب نمیده سیستم عامل ویندوز هست به api با postman درخواست میدم جواب میده ولی با javascript درخواست میفرستم این مشکل پیش میاد

<?php

namespace App\Http\Middleware;

use Closure;
use \Illuminate\Http\Request;

class Cors
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
        return $next($request)
            ->header('Access-Control-Allow-Origin', '*')
            ->header('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE, OPTIONS')
            ->header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Authorizations, X-Authorization');
    }
}

اینم کد کلاینت

var xhr = new XMLHttpRequest();
            xhr.open('GET', consts.api_url+'contact', true);
            xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
            xhr.onload = function() {
                var text = xhr.responseText;
                var title = getTitle(text);
                alert('Response from CORS request to ' + url + ': ' + title);
              };

              xhr.onerror = function() {
                alert('Woops, there was an error making the request.');
              };

              xhr.send();
تکنولوژی برنامه-نویسی پی-اچ-پی کامپیوتر لاراول
ویرایش شده در 5 سال قبل
سوال شده در black ghost
6 امتیاز

3
لطفا کدتون را هم ضمیمه سوالتون کنید. هم سمت کلاینت و هم سمت سرور. و اینکه ذکر کنید از چه سیستم عاملی استفاده میکنید؟ (یعنی ویندوز هست یا لینوکس) ــ سروش قادری نسب در 5 سال قبل

من درست متوجه نشدم. شما با چه متدی میفرستید؟ و اینکه آیا از Ajax استفاده میکنید یا مثلا React یا Angular و ..؟ چرا که بعضی از فریم ورک های جاوا اسکریپتی خودشون هدرهای مورد نیاز رو ست میکنن و خیلی به ندرت پیش میاد که مشل CORS داشته باشید چون خود کتابخونه Allow میکنه. ــ ساناز رضایی در 5 سال قبل
1
ببینید مشکل CORS یک مشکل هست سمت مرورگر. برای اینکه این اطمینان حاصل ایجاد بشه که دقیقا مشکل از کد هست یا از هدر ها یا از مجوز ها و دسترسی ها، بنده پیشنهاد میکنم که با postman درخواست رو بفرستی و ببینی خروجی چی بر میگرده. اگه توی postman خروجی درست بود، اون موقع میشه بهتر روش کار کرد. ــ سجاد شفی زاده در 5 سال قبل

از چه فریم ورکی استفاده میکنی؟ شبیه لاراوله، درسته؟ پس تگ لاراول رو هم به سوالت اضافه کن که لاراول کارا بیان ببین. و اینکه میتونم بدونم چرا ناشناس پرسیدید سوالتون رو؟ :-) معمولا سوالات پزشکی و حقوقی رو گاها کاربرا ناشناس میپرسن چون دوست ندارن اطلاعات شخصیشون رو دیگران ببینن ولی شما که سوالتون برنامه نویسیه دیگه چرا؟ :-) ــ سعید مرادی در 5 سال قبل

بعد از ارسال درخواست، این ارور رو دریافت نمیکنید؟ Access-Control-Allow-Or igin ــ ساناز رضایی در 5 سال قبل

@ساناز.رضایی از vuejs استفاده میکنم ــ black ghost در 5 سال قبل

@سجاد.شفی.زاده.★ داداش میدونم فقط نمیدونم چطوری حلش کنم ــ black ghost در 5 سال قبل

هدرهای dataType: "JSON", و Accept: "text/plain; charset=utf-8" رو هم توی کدت فرانتت موقع ارسال درخواست، یکی یکی چک کن ببین مشکل حل میشه یا نه. ــ سعید مرادی در 5 سال قبل

@ساناز.رضایی شما دیگه سمت کلاینت مشکلی پیش نمیاد ــ black ghost در 5 سال قبل

ببینید من هدر Authorization رو اضافه میکنم این طور میشه ــ black ghost در 5 سال قبل

خب هدر Authorization رو اضافه نکن. کسی مجبورتون نکرده که. ضمنا من کلاینتم با react نوشته میشه معمولا و مشکل شما رو نداشتم. ری اکت خودش هدرهای مورد نیاز رو ست میکنه. ــ ساناز رضایی در 5 سال قبل

دوست عزیز زمانی باید هدر Authorization رو هم توی سرور بفرستی که مکانیسم کلی login و شناسایی کاربرت از طریق توکنی توی header ارزیابی بشه. اگه همچین سیستمی رو راه ننداختی و کلا یک جور دیگه ای داری کاربرات رو شناسایی میکنی، نیازی نیست هدر Authorization رو استفاده بکنی. ــ سروش قادری نسب در 5 سال قبل

@ساناز.رضایی ببین این رو هم اضافه میکنم همون میشه. xhr.setRequestHeader('X- Parsian-Token','applicat ion/x-www-form-urlencode d'); ــ black ghost در 5 سال قبل

کانتنت تایپ باید اینجوری باشه: contentType: "application/json; charset=utf-8",. فکر می کنم x-www-form-urlencode مال زمانیه که یک فرم HTML سابمیت میشه. نه وقتی که شما پارامترها رو به صورت ajax میفرستید. ــ ساناز رضایی در 5 سال قبل

اینم دقیقا کسی مثل شما پرسیده. چون هم داشته از لاراول و هم ویوجی اس استفاده میکرده. بد نیست یک نگاهی بهش بکنید. ــ ساناز رضایی در 5 سال قبل

@ساناز.رضایی ببینید یه پارامتر یا یه هدر اضافه میکنم میخواد مطمِن بشه درخواست options میفرسته ــ black ghost در 5 سال قبل

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at آدرس بدون عنوان . (Reason: CORS preflight channel did not succeed).[Learn More] Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at آدرس بدون عنوان . (Reason: CORS request did not succeed).[Learn More] ــ black ghost در 5 سال قبل

این ارور رو میده ــ black ghost در 5 سال قبل

500 کاراکتر باقی مانده

2 جواب

2

آيا api شما در دامنه ی ‍‍(domain) دیگری قرار دارد ؟

اگر اینطور هست طبیعی هست این خطا (‍‍‍error) زیرا میخواد جلوگیری کنه از اینکه سایر وبسایت ها به api شما ریکوست (‍‍‍request) بدن

اگر براتون مهم نیست که این بررسی صورت بگیرد کافیست هدر زیر را وارد کنید.

header("Access-Control-Allow-Origin: *");

یا فایلhtaccess‍‍‍ خود را ویرایش کنید و این کد را داخل آن قرار دهید.

<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
</IfModule>

موفق باشید

ویرایش شده در 5 سال قبل
جواب داده شده در علی رضایی <m>★</m>
1139 امتیاز

500 کاراکتر باقی مانده


0

من درخواست هامو توی بک با این هدر ها می فرستم و همیشه جواب میده. شما هم امتحان کنید:

return $next($request)
            ->header('Access-Control-Allow-Origin', '*')
            ->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
جواب داده شده در ساناز رضایی
1366 امتیاز


از نظر من مشکل سوال پرسنده سمت سرور نیست، هدر های سمت سرور درستن، مشکل سمت کلاینته. ــ سعید مرادی در 5 سال قبل

500 کاراکتر باقی مانده


جواب شما
     
.....
×

×

جعبه لام تا کام


لام تا کام نسخه صفحه کلید نیز راه اندازی شده است. شما با استفاده از کلیدهای موجود بر روی صفحه کلید دستگاهتان می توانید با وب سایت ارتباط برقرار کنید.
لیست کلید های میانبر

تبلیغات توضیحی


داپ اَپ اولین پلتفرم کش‌بک در ایران
اگه میخوای از خریدهایی که میکنی، پاداش نقدی دریافت کنی داپ اَپ رو نصب کن.

تبلیغات تصویری