나는이 문제로 벽에 머리를 세게 치고 있습니다. 별도의 하위 도메인에서 실행되는 매우 단순화 된 HTTP 서버에 AJAX 메서드를 사용하기 위해 JQuery 1.6.2를 사용하고 있습니다. POST로 일반 HTML 양식을 게시하면 올바른 결과를 얻지 만 물론 Javascript로 멋지게 만들고 싶습니다. jQuery 아약스가 간단한 게시물에서 항상 오류를 반환합니다.
는 그래서 아래의 설정으로 AJAX 방법을 사용 : URL이 제거$('.send_sample').click(function() {
var request = $.ajax({
url : "http://removedurl:8080/SAMPLES",
type : 'POST',
dataType : 'text',
crossDomain : true,
cache : false,
accepts : 'text/plain',
data : {username : '<?php echo $_SESSION['username'] ?>', first_name : '<?php echo $_SESSION['first_name']; ?>', last_name : '<?php echo $_SESSION['last_name']; ?>', company : '<?php echo $_SESSION['company']; ?>', sequence_id : '', filename : '', sample_id : '', quantity : '', output_file : '', delivery : '', email_copy : ''},
success : function (return_value) {
console.log(return_value);
},
error : function (error_info) {
console.log(error_info);
},
complete : function (complete_jqXHR, textStatus) {
console.log(textStatus);
}
});
console.log(request);
});
공지하지만 다른 모든 포트 8080 (서버 8080
에 HTTP 요청을 수락 날 믿어 포함 동일그래서 내가 피들을 열었을 때이 페이지를 실행하면 요청이 꺼지고 Fiddler에서 다시 정상적으로 돌아옵니다. 나는 심지어 TRUE라는 정확한 출력을 봅니다.
HTTP/1.1 200 200 OK
Connection: close
Content-Length: 8
Server: Indy/9.0.18
TRUE
전에 말했듯이이 소프트웨어가 사용하는이 HTTP 서버는 매우 간단합니다. 하지만 JQuery는 다른 설명없이 오류로 직접 이동합니다. Chrome에서 디버그하면 작은 메시지가 표시됩니다.
XMLHttpRequest는 http://removedUrl:8080/SAMPLES을로드 할 수 없습니다. Origin http://192.168.2.140은 Access-Control-Allow-Origin에서 허용되지 않습니다.
누가이 문제의 원인인지 알 수 있습니까?
또한, 나는 점진적으로 JQuery와의 아약스 방법의 필드를 추가 한 : 데이터 유형 도메인 간, 캐시, 그것은 차이가 있는지 만 확인 ... 받아들입니다.
감사합니다.
'dataType : 'text','? 당신이 json을 게시하려고하는 것처럼 보이지만 (물론 데이터에는 유효한 json이 아니다 : 물론), 또는 유효한 텍스트가 실제로 "보인다". –