programing

네트워크 오류: 'XMLHtpRequest'에서 '보내기'를 실행하지 못했습니다.

elecom 2023. 10. 25. 22:34
반응형

네트워크 오류: 'XMLHtpRequest'에서 '보내기'를 실행하지 못했습니다.

노트북에서 로컬로 호스팅되는 서버에 POST ajax 요청을 하려고 하는데 어떤 정보도 돌려받을 수 없는 것 같습니다.내 사이트(localhost)의 버튼을 클릭하면 서버가 올바른 정보를 전달하는 것을 볼 수 있지만 앞에 다음과 같은 오류가 나타납니다.

오류: 네트워크 오류: 'XMLHtpRequest'에서 '보내기'를 실행하지 못했습니다.'http://comp-ip'을(를) 로드하지 못했습니다.

var param = JSON.stringify({varA:"varA",varB:"varB"});

$.ajax({
  type: "POST", 
  url: "http://comp-ip",
  async: false, 
  data: param,
  success: function(result, status, xhr){
    alert(result + ": " + status);
  },
  error: function(xhr, status, err) {
    alert(status + ": " + err);
  }
});

'성공'이 아니라 매번 오류를 유발하는 것 같습니다.뭐가 문제인지 아는 사람?

편집: AJAX 없이 정상적인 POST 요청을 보내려고 했는데 '정의되지 않은' 오류도 발생합니다.

$(document).ready(function(){
    var param = JSON.stringify({varA:"varA",varB:"varB"});
     $("#btn").click(function(event){
           $.post( 
              "http://ip",
               param,
               function(data) {
                 $('#container').html(data);
               }
           ).fail(function(error) { alert(error.responseJSON) });
        });
});

기타 시도한 것: 1) 브라우저를 Safari로 변경(같은 것, 서버는 정보를 반환하지만 사이트는 오류가 발생) 2) sync = false에서 true로 설정어떤 이유에서인지 true로 설정하면 서버가 전혀 응답하지 않습니다.거짓이면 서버가 응답합니다.

저는 말 그대로 몇 분 전에 이 문제를 겪었습니다.문제는 당신이 우리가 그들을async:false로.async:true. HTML5가 XML보다 최신이기 때문에 이것이 왜 작동하는지 정확하게 모르겠습니다.

이 사이트에서는 오류가 조금 다르지만 비슷한 것 같습니다. JavaScript console.log는 "메인 스레드의 동기 XMLHtpRequest가 더 이상 사용되지 않습니다.."

갱신하다

안녕하세요, 새롭고 개선된 정보를 가지고 왔습니다.Cross-Origin은 도메인/IP뿐만 아니라 포트에서도 발생하며 대부분의 정상적인 브라우저에서도 발생할 수 있습니다.무슨 일이 일어나고 있는지 알고 싶다면 IP를 localhost로 변경하거나 그 반대로 변경해 보십시오(localhost를 사용하는 경우).다른 포트를 사용하는 경우에도 이 문제가 발생할 수 있습니다.빠른 수정을 위해 백엔드 서버의 헤더에 올바른 액세스 제어 헤더가 표시되는지 확인합니다.response.addHeader("Access-Control-Allow-Origin", "*");.

코드는 이 질문에서 파생됩니다.

그것은 상호출발지 자원 문제(CORS)였습니다.서버에서 올바른 정보를 반환하는 중이었는데 브라우저에서 이를 받아들이지 않았습니다.이를 수정하기 위해 자바 서버(내 사이트가 아닌)에 두 줄을 추가하여 응답 헤더로 설정해야 했습니다.

yourownvariable.setHeader("Access-Control-Allow-Origin:", "origin url of your site");
yourownvariable.setHeader("Access-Control-Allow-Methods", "GET, POST,PUT");

저도 같은 문제를 겪고 있었는데, 똑같은 오류 메시지가 있었습니다.제 경우에는 서버가 다음과 같이 기능-정책 헤더를 설정함으로써 발생했습니다.sync-xhr: none 이 지침을 제거하면 문제가 해결되었습니다.

이는 브라우저 업데이트가 있은 지 며칠 후부터 발생하기 시작했습니다.최신 브라우저가 비동기 요청을 거부하고 있는 것 같습니다.

단답형: 설정 안 함async: false

이렇게 Windows에서 크롬으로 웹 페이지를 테스트할 수 있습니다.

chrome.exe --allow-file-access-from-files

언급URL : https://stackoverflow.com/questions/32878613/networkerror-failed-to-execute-send-on-xmlhttprequest

반응형