স্ক্রিপ্ট কার্যকর করতে অস্বীকৃতি জানিয়েছে, কঠোর MIME ধরণের চেকিং সক্ষম করা আছে?


92

কেন আমি কনসোলে এই ত্রুটি পাচ্ছি?

' Https://www.googleapis.com/customsearch/v1?key=API_KEY&q=flower&searchType=image&fileType=jpg&imgSize=small&alt=json ' থেকে স্ক্রিপ্ট সম্পাদন করতে অস্বীকৃতি জানায় কারণ এর এমআইএম টাইপ ('অ্যাপ্লিকেশন / জেসন') কার্যকর হয় না এবং কঠোর মাইম টাইম চেকিং সক্ষম করা হয়েছে।

উত্তর:


60

আপনার একটি <script>উপাদান রয়েছে যা কিছু বাহ্যিক জাভাস্ক্রিপ্ট লোড করার চেষ্টা করছে।

আপনি যে URL টি দিয়েছেন তা জাভাস্ক্রিপ্ট প্রোগ্রাম নয়, একটি JSON ফাইলকে নির্দেশ করে।

সার্ভারটি সঠিকভাবে জানাচ্ছে যে এটি JSON তাই ব্রাউজারটি জাভাস্ক্রিপ্ট হিসাবে JSON চালানোর চেষ্টা করার পরিবর্তে সেই ত্রুটি বার্তাটি বাতিল করে দিচ্ছে (যা কোনও ত্রুটি ছুঁড়ে ফেলবে)।


প্রতিক্রিয়াগুলি হ'ল এর অন্তর্নিহিত কারণটি হ'ল আপনি আজাক্স অনুরোধ করার চেষ্টা করছেন, ক্রস অরিজিন ত্রুটিটি আঘাত করেছেন এবং jQuery কে জেএসএনপি ব্যবহার করছেন তা জানিয়ে এটির সমাধান করার চেষ্টা করেছেন। এটি কেবল তখনই কাজ করে যদি URL টি JSONP সরবরাহ করে (যা জাভাস্ক্রিপ্টের একটি পৃথক উপসেট), যা এটি দেয় না।

অতিরিক্ত ক্যোরিয় স্ট্রিং প্যারামিটার সহ একই URL টি callback=the_name_of_your_callback_functionজাভাস্ক্রিপ্ট ফেরত দেয়।


4
আমি এখন এটি
দিয়েছি

4
type="application/json"- এখন ব্রাউজারটি জানে যে এটি জাভাস্ক্রিপ্ট লোড করার চেষ্টা করছে না, তাই এটি স্ক্রিপ্ট উপাদানটিকে পুরোপুরি উপেক্ষা করে।
কোয়ান্টিন

59

আমার ক্ষেত্রে এটি একটি ফাইল পাওয়া যায় নি, আমি জাভাস্ক্রিপ্ট ফাইলটির পথটি ভুলভাবে টাইপ করেছি।


8
একই. ভুল পথের কিছু ত্রুটি এইচটিএমএল-পৃষ্ঠার প্রতিক্রিয়াতে ফলাফল, যা ফলস্বরূপ এই বিভ্রান্তিকর ত্রুটি বার্তা তৈরি করে।
গিল রাইটো

4
জেনিয়াস উত্তর। আপনাকে ধন্যবাদ :)
অঞ্জনা সিলভা

21

এই ফলাফলটি গুগলে প্রথম পপ-আপ এবং এটি এখানে যা ঘটছে তার চেয়ে বেশি বিস্তৃত। নিম্নলিখিতটি একটি এক্সপ্রেস সার্ভারে প্রযোজ্য হবে :

আমি নেস্টেড ফোল্ডার থেকে সংস্থানগুলি অ্যাক্সেস করার চেষ্টা করছিলাম।

ভিতরে index.htmlআমি ছিল

<script src="./script.js"></script>

স্থির রুটটি এখানে মাউন্ট করা হয়েছিল:

app.use(express.static(__dirname));

কিন্তু script.jsঅবস্থিত নেস্টেড ফোল্ডারের হিসেবে: js/myStaticApp/script.js স্ক্রিপ্ট কার্যকর করতে অস্বীকার করেছে, মেম টাইপের চেকিং সক্ষম করা হয়েছে। আমি শুধু স্ট্যাটিক রুট পরিবর্তিত হয়েছে:

app.use(express.static(path.join(__dirname, "js")));

এখন এটা কাজ করছে :)


6

আপনি যদি নোড.জেএস ব্যবহার করেন তবে এক্সপ্রেস.স্ট্যাটিক () ব্যবহার করার চেষ্টা করুন

আপনি সরাসরি ডিরেক্টরি পরিবেশন শুরু করতে এক্সপ্রেস.স্ট্যাটিক মিডলওয়্যারের কাছে আপনার স্ট্যাটিক সম্পদগুলি যে ডিরেক্টরিতে রাখেন সেই ডিরেক্টরিটির নাম স্রেফ আপনার প্রয়োজন। উদাহরণস্বরূপ, আপনি যদি নিজের ছবি, সিএসএস এবং জাভাস্ক্রিপ্ট ফাইলগুলি সর্বজনীন নামের একটি ডিরেক্টরিতে রাখেন তবে আপনি নীচের মতো করতে পারেন -

যেমন: অ্যাপ.উস (এক্সপ্রেস.স্ট্যাটিক ('পাবলিক'));

এই পদ্ধতির ফলে আমার সমস্যা সমাধান হয়েছে।

ধন্যবাদ,


এই নির্দিষ্ট প্রশ্নের সঠিক উত্তর নাও হতে পারে তবে এটি ছিল আমার সমস্যার সমাধান। ধন্যবাদ!
mcheah

4

কিছুক্ষণ অনুসন্ধানের পরে আমি বুঝতে পারি যে আমার উইন্ডোজ 10 64 বিটের এই ত্রুটিটি জাভাস্ক্রিপ্টের সাথে সম্পর্কিত। এটি দেখতে আপনার ব্রাউজারে ডেভটুলগুলি যান এবং প্রথমে এটি নিশ্চিত করুন। আমার ক্ষেত্রে এটি "এমআইএমআই টাইপ ('অ্যাপ্লিকেশন / জাভাস্ক্রিপ্ট') কার্যকর করার যোগ্য নয়" এর মতো একটি ত্রুটি দেখায়।

যদি এটি হয় তবে আমি একটি সমাধান খুঁজে পেয়েছি। চুক্তিটি এখানে:

  1. উপর ব্যবহারকারী "ilango100" ঋণগ্রহণ https://github.com/jupyterlab/jupyterlab/issues/6098 :

কিছুক্ষণ আগে আমার ঠিক একই সমস্যা ছিল। আমি মনে করি এই সমস্যাটি উইন্ডোজের সাথে নির্দিষ্ট। এটি জাভাস্ক্রিপ্ট ফাইলগুলির জন্য উইন্ডোজ রেজিস্ট্রিতে ভুল মাইম টাইপ সেট হওয়ার কারণে। আমি সঠিক বিষয়বস্তুর সাথে উইন্ডোজ রেজিস্ট্রি সম্পাদনা করে সমস্যাটি সমাধান করেছি:

regedit -> HKEY_LOCAL_MACHINE \ সফ্টওয়্যার \ ক্লাস -> আপনি প্রতিটি ফাইলের এক্সটেনশনের জন্য প্রচুর ফোল্ডার দেখতে পাবেন -> কেবল ".js" রেজিস্ট্রিতে স্ক্রোল করুন এবং এটি নির্বাচন করুন -> ডানদিকে, "বিষয়বস্তুর ধরণ" মানটি বাদে অন্যথায় অ্যাপ্লিকেশন / জাভাস্ক্রিপ্ট, তারপরে এটি সমস্যার সৃষ্টি করছে। কন্টেন্টের ধরণে রাইট ক্লিক করুন এবং অ্যাপ্লিকেশন / জাভাস্ক্রিপ্টে মান পরিবর্তন করুন

এখানে চিত্র বর্ণনা লিখুন

ব্রাউজারে আবার চেষ্টা করুন।

এর পরে আমি বুঝতে পারি যে ত্রুটি পরিবর্তন হয়। এমনকি এটি ব্রাউজারে স্বয়ংক্রিয়ভাবে খুলবে না। পিজিএডমিন অবশ্য পাশের বারে (ক্যালেন্ডার / ঘড়ির কাছাকাছি) খোলা থাকবে। সরাসরি ব্রাউজারে খোলার চেষ্টা করে ("নতুন পিজিএডমিন 4 উইন্ডো ...") এটি কোনও কাজ করে না।

শেষ সমাধান: "কপিরাইট সার্ভারের URL" এ ক্লিক করুন এবং এটি আপনার ব্রাউজারে পেস্ট করুন। এটা আমার জন্য কাজ!


4
এটি আমার জন্য কাজ করেছে আমি এক্সটেনশনের application/javascriptজন্য ব্যবহারের জন্য রেজিস্ট্রি পরিবর্তন করেছি .js। তারপরে আমি পিজএডমিনটি বন্ধ করে দিয়ে আবার খুললাম এবং এটি জরিমানা (সার্ভারের ইউআরএল অনুলিপি না করে) ed আমি উইন্ডোজ 8.1 এবং পোস্টগ্র্যাস এসকিউএল 13 চালাচ্ছি
এরিক মুত্ত

2

আমি দুর্ঘটনাক্রমে এর .minপরিবর্তে জেএস ফাইলটির নাম দিয়েছি .min.js...


1

পাইথন ফ্লাস্ক

উপর উইন্ডোজ , এটা রেজিস্ট্রি থেকে তথ্য ব্যবহার করে, তাই HKCR মধ্যে "বিষয়বস্তু প্রকার" মান / .js সঠিক মূকাভিনয় সেট করা না থাকলে টাইপ এটা আপনার সমস্যা সৃষ্টি করতে পারে।

রিজেডিটটি খুলুন এবং HKEY_CLASSES_ROOT এ যান কী জেএস / সামগ্রী ধরণের মান মান / জাভাস্ক্রিপ্ট রয়েছে তা নিশ্চিত করুন

C:\>reg query HKCR\.js /v "Content Type"

HKEY_CLASSES_ROOT\.js
    Content Type    REG_SZ    text/javascript

0

এন্ট্রি এইচটিএমএলে নিচে প্রদর্শিত কোড স্নিপেট যুক্ত করুন। যেমন প্রতিক্রিয়াগুলিতে "index.html"

<div id="wrapper"></div>
<base href="/" />


4
আমি কেন এটি দরকারী সে সম্পর্কে একটি ব্যাখ্যা খুব প্রশংসা করব।
জুয়ান ল্যানাস

-1

আপনার যদি এক্সপ্রেসে কোনও রুট থাকে যেমন:

app.get("*", (req, res) => {
  ...
});

আরও নির্দিষ্ট কিছু জন্য এটি পরিবর্তন করার চেষ্টা করুন:

app.get("/", (req, res) => {
  ...
});

উদাহরণ স্বরূপ.

অন্যথায় আপনি হয়ত নিজেকে পুনরুক্তরূপে একই HTML টেমপ্লেটটি বারবার পরিবেশন করতে পারেন ...


-1

আমি একই সমস্যা হ্যাড তারপর আমি এই মত স্থির

change "text/javascript"

প্রতি

type="application/json"

4
এটি ব্রাউজারটি প্রথমে ইউআরএল জন্য অনুরোধ করা বন্ধ করে এবং scriptনথিতে উপাদানটির উপস্থিতি পুরোপুরি অর্থহীন করে তোলে ।
কোয়ান্টিন

-1

আমার ক্ষেত্রে আমার 404'd ফাইলের জন্য একটি সিমিলিংক ছিল এবং আমার টমক্যাটটি সিমলিংকের অনুমতি দেওয়ার জন্য কনফিগার করা হয়নি।

আমি জানি যে এটি বেশিরভাগ মানুষের পক্ষে কারণ হওয়ার সম্ভাবনা নেই তবে আপনি যদি মরিয়া হয়ে থাকেন তবে এই সম্ভাবনাটি ঠিক সেক্ষেত্রে দেখুন।


-2

আমার একই সমস্যা ছিল এবং সমস্যাটি হ'ল আমি আমার পথে একটি স্ল্যাশ মিস করছি।

আমার ছিল

এবং এটি ঠিক করার জন্য আমার কেবল jquery-ui এবং jquery-ui.min এর মধ্যে স্ল্যাশ যুক্ত করা দরকার:

  <script type="text/javascript" src="js/jquery-ui/jquery-ui.min.js"></script>

আশা করি এটি সাহায্য করে: ডি


-12

আমি আমার জেএসপি পথে $ {পেজকন্টেক্সট.রেকোস্ট.কনটেক্সটপথ adding যুক্ত করে আমার সমস্যার সমাধান করেছি। পরিবর্তে :

 <script    src="static/js/jquery-3.2.1.min.js"></script>

আমি সেট করেছি:

 <script    src="${pageContext.request.contextPath}/static/js/jquery-3.2.1.min.js"></script>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.