AJAX가 탄생한 이후부터 XMLHttprequest 개체를 도메인 간에 요청할 수 없다는 문제는 항상 존재했습니다. 이것은 매우 고전적인 질문인 것 같습니다. 이는 JavaScript의 동일 원본 정책으로 인해 발생합니다(여기에서는 자세히 설명하지 않음).
해결책은 아마도 다음과 같습니다.
1. 중간 계층 전환 방법 사용("에이전트"로 이해 가능):
중간 전환은 분명히 다른 도메인의 서버와 AJAX 통신 중에 전환 계층을 추가하는 것입니다. 이 전환 계층은 PHP, JSP, C 등과 같은 네트워크 통신 기능을 갖춘 모든 언어가 될 수 있습니다. 중간 계층부터 다른 도메인의 서버까지 데이터 읽기 작업을 수행합니다. asp.net을 예로 들어 보겠습니다. 다른 도메인의 asp.net과 통신해야 하는 경우 클라이언트의 xmlhttprequest는 먼저 이 도메인의 asp.net을 쿼리한 다음 이 도메인의 asp.net이 asp.net과 통신합니다. 다른 도메인에서 통신을 위해 .net을 사용하고 이 도메인의 asp.net 응답 출력(응답)은 아마도 다음과 같을 것입니다. 독자들은 분명히 이해하고 있을 것입니다.
2. <script> 태그를 사용하세요</script>
이 방법은 <script> 태그의 src 속성에 크로스 도메인 문제가 없기 때문에 <script> 태그의 src를 사용하여 aspx를 쿼리하여 응답을 얻는 것입니다. </script>
더 명확하게 설명하기 위해 예를 들어 보겠습니다.
protected void Page_Load(객체 전송자, EventArgs e)
Response. responseVal='Dylan'");
}
}
}
이 메소드는 xmlHttprequest 없이 ajaj 또는 ajax라고도 하는데, x를 j로 대체합니다. > 태그는 xml 및 xmlHttprequest 대신 사용됩니다. 이 방법은 약간 "대안"인 것 같습니다. 하하.
이제 jQuery를 사용하여 Ajax의 도메인 간 문제를 해결하는 방법을 살펴보겠습니다.
코드 복사