Program Tip

스크립트 실행을 거부했습니다. 엄격한 MIME 유형 검사가 활성화되어 있습니까?

programtip 2020. 12. 4. 20:23
반응형

스크립트 실행을 거부했습니다. 엄격한 MIME 유형 검사가 활성화되어 있습니까?


콘솔에서이 오류가 발생하는 이유는 무엇입니까?

MIME 유형 ( 'application / json')이 실행 가능하지 않기 때문에 ' https://www.googleapis.com/customsearch/v1?key=API_KEY&q=flower&searchType=image&fileType=jpg&imgSize=small&alt=json ' 에서 스크립트 실행을 거부했습니다. 엄격한 MIME 유형 검사가 사용됩니다.


당신은이 <script>일부 외부 자바 스크립트를로드하려고 요소를.

제공 한 URL은 JavaScript 프로그램이 아닌 JSON 파일을 가리 킵니다.

서버가 JSON이라고 올바르게보고하므로 브라우저는 JSON을 JavaScript로 실행하려고 시도하는 대신 해당 오류 메시지와 함께 중단됩니다 (오류가 발생 함).


확률은 이것에 대한 근본적인 이유는 Ajax 요청 을 시도하고 교차 원본 오류가 발생 했으며 jQuery에 JSONP를 사용하고 있음을 알려서 수정하려고 시도했기 때문입니다. 이는 URL이 JSONP (JavaScript의 다른 하위 집합)를 제공하는 경우에만 작동하지만이 기능은 제공하지 않습니다.

추가 쿼리 문자열 매개 변수 callback=the_name_of_your_callback_function있는 동일한 URL은 JavaScript를 반환합니다.


제 경우에는 파일을 찾을 수 없었고 javascript 파일의 경로를 잘못 입력했습니다.


이 결과는 Google에서 처음으로 나타나는 결과이며 여기에서 발생하는 것보다 더 광범위합니다. 다음은 익스프레스 서버에 적용됩니다 .

중첩 된 폴더에서 리소스에 액세스하려고했습니다.

내부 index.html내가했다

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

고정 경로가에 마운트되었습니다.

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

그러나는 다음 script.js과 같이 중첩 폴더 에 있습니다. js/myStaticApp/script.js 스크립트 실행을 거부했습니다. meme 유형 검사가 활성화되었습니다.방금 정적 경로를 다음 과 같이 변경했습니다.

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

이제 작동합니다 :)


Node.js 를 사용하는 경우 express.static () 을 사용하십시오.

정적 자산을 보관하는 디렉토리의 이름을 express.static 미들웨어에 전달하기 만하면 파일을 직접 제공 할 수 있습니다. 예를 들어, 이미지, CSS 및 JavaScript 파일을 public이라는 디렉토리에 보관하면 다음과 같이 할 수 있습니다.

즉 : app.use (express.static ( 'public'));

이 접근 방식으로 문제가 해결되었습니다.

감사,


아래에 표시된대로 코드 조각을 항목 html에 추가합니다. 즉 reactjs의 "index.html"

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


나는 같은 문제가 있었고 문제는 내 경로에 슬래시가 없다는 것입니다.

나는 가지고 있었다

이 문제를 해결하려면 jquery-ui와 jquery-ui.min 사이에 슬래시 만 추가하면됩니다.

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

이것이 도움이되기를 바랍니다 : D


실수로 js 파일의 이름 .min.min.js...


제 경우에는 404'd 파일에 대한 심볼릭 링크가 있었고 Tomcat이 심볼릭 링크를 허용하도록 구성되지 않았습니다.

나는 그것이 대부분의 사람들에게 원인이 될 것 같지 않다는 것을 알고 있지만, 만약 당신이 필사적이라면, 만일을 위해이 가능성을 확인하십시오.


내 jsp 경로에 $ {pageContext.request.contextPath} 만 추가하여 문제를 해결했습니다. 대신에 :

 <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>

참고 URL : https://stackoverflow.com/questions/40574159/refused-to-execute-script-strict-mime-type-checking-is-enabled

반응형