우선이 리소스를 사용하고 있습니다. 사용 중이며 2 년 동안 학습했습니다. 이것은 내가 진정으로 붙어있는 것처럼 내 첫 게시물입니다. ajax/jsonp를 통해 양식을 제출합니다. 이 스크립트를 로컬에서 실행하면 성공 코드가있는 도메인에서 응답을받습니다. 방금 브라우저에서 요청을 실행하면 응답 코드가 성공으로 돌아옵니다. 하지만 양식을 제출할 때 방화범은 서버에서 응답이없는 상태에서 200 OK를 빨간색으로 보냅니다. Safari가 리소스를로드하지 못했습니다 : 취소되었습니다. Cant는 오류에 대한 많은 문서를 찾았으므로 중단되었습니다. 나는 이것이 아마 프로가 읽는 것이 몹시 구역질 난다는 것을 알고있다. 그러나 이것은 모든 첫 번째 게시물이므로 어떤 지침도 감사하겠습니다! 온라인으로 두 가지 예가 있습니다 : http://www.yourlifeportal.com/register.php reCaptcha가있는 버전입니다. http://www.yourlifeportal.com/registerNew.php에는 reCaptcha가 없기 때문에 captcha를 추가하면 코드가 영향을받습니다. 내가 얼굴에 큰 박수를 보내면 그 사실을 알려줘. 고맙습니다!ajax jsonp request - no response
$.ajax({
url: 'http://myURLonaDifferentDomain',
data:jQuery(frm).serialize(),
type: 'POST',
dataType: 'jsonp',
jsonp: 'jsonp',
crossDomain: true,
error: function (xmlHttpRequest, textStatus, errorThrown) {
if(xmlHttpRequest.readyState == 0 || xmlHttpRequest.status == 0)
return; // it's not really an error
else
alert(xmlHttpRequest + ': ' + textStatus + ': ' + errorThrown);
},
success: function(jsonp) {
// Response handling code goes here
console.log(json.response.responseCode + ': ' + json.response.response + ': ' + json.response.responseDescription);
if (json.response.responseCode == 10527) {
document.getElementById('errorScreen').style.display='block';
$('#errorMsg').append('There was an error with your credit card transaction please go back and re-check your ');
}
if (json.response.responseDescription == "Registration was successful") {
window.location.replace("http://www.url.com/thankyou.php");
}
}
});
}
나는 jsonP가 도메인 간 문제에 대한 해결책이라고 생각 했습니까? –
이것은 응답 헤더에 대해 방화범이 끌었던 것입니다. 나는 실종 뭔가? 날짜 \t 2011년 (일) 8월 21일 그리니치 표준시 07시 15분 50초 서버 \t 아파치/2.2.8 (CentOS는) 내용 - 언어 \t EN-US 콘텐츠 길이 연결 \t 가까운 콘텐츠 - 타입 \t application/x-javascript; charset = UTF-8 –
그래, CORS 헤더 ('Access-Control-Allow-Origin'처럼 보일 것입니다). 요청이 JSOP 요청처럼 보이는지 ('jsonp = xyz'와 같은 GET 인수가있을 것입니다) 응답이 적절하면 ('xyz (...)로 시작합니다.) – Malvolio