비교적 간단한 jQuery 플러그인이라고 생각했던 것에 문제가 있습니다 ...
플러그인은 ajax를 통해 PHP 스크립트에서 데이터를 가져 와서에 옵션을 추가해야합니다 <select>
. 아약스 요청은 매우 일반적입니다.
$.ajax({
url: o.url,
type: 'post',
contentType: "application/x-www-form-urlencoded",
data: '{"method":"getStates", "program":"EXPLORE"}',
success: function (data, status) {
console.log("Success!!");
console.log(data);
console.log(status);
},
error: function (xhr, desc, err) {
console.log(xhr);
console.log("Desc: " + desc + "\nErr:" + err);
}
});
이것은 Safari에서 잘 작동하는 것 같습니다. Firefox 3.5 REQUEST_TYPE
에서 서버는 항상 'OPTIONS'이며 $ _POST 데이터는 나타나지 않습니다. Apache는 요청을 'OPTIONS'유형으로 기록합니다.
::1 - - [08/Jul/2009:11:43:27 -0500] "OPTIONS sitecodes.php HTTP/1.1" 200 46
이 ajax 호출이 Safari에서는 작동하지만 Firefox에서는 작동하지 않는 이유는 무엇이며 Firefox에서는 어떻게 해결할 수 있습니까?
응답 헤더 날짜 : 2009 년 7 월 8 일 수요일 21:22:17 GMT 서버 : Apache / 2.0.59 (Unix) PHP / 5.2.6 DAV / 2 X-Powered-By : PHP / 5.2.6 내용 길이 46 연결 유지 시간 종료 = 15, 최대 = 100 연결 유지 컨텐츠 유형 텍스트 / html 요청 헤더 호스트 주문 양식 : 8888 User-Agent Mozilla / 5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv : 1.9.1) Gecko / 20090624 Firefox / 3.5 text / html, application / xhtml + xml, application / xml; q = 0.9, * / *; q = 0.8 수락 수락 언어 en-us, en; q = 0.5 수락 인코딩 gzip, 수축 수락 문자 ISO-8859-1, utf-8; q = 0.7, *; q = 0.7 Keep-Alive 300 연결 유지 오리진 http://ux.inetu.act.org 액세스 제어 요청 방법 POST 액세스 제어 요청 헤더 x- 요청
다음은 Firebug 출력 사진입니다.