양식에서 데이터를 가져와 API에 게시하는 AJAX 요청이 있습니다. 이상한 점은 localhost에서 완벽하게 작동하지만 원격 서버에 업로드 할 때 조용히 실패한다는 것입니다. 그리고 조용히 의미합니다. 응답 코드는 비어 있고 로그에는 아무것도 없습니다. Firefox와 Chrome에서 확인했습니다. jQuery가로드되고 함수가 제대로 실행됩니다. 코드는 다음과 같습니다.
function send() {
console.log("preparing");
var beacon = {
beaconID: $("#beaconID").val(),
name:$("#beaconName").val(),
campaignID:$("#campaignID").val(),
clientID:$("#clientID").val()
}
console.log("payload:");
console.log(beacon);
$.ajax({
type: 'POST',
url: '../beaconAPI/index.php/createBeacon',
data: JSON.stringify(beacon),
contentType: "application/json; charset=utf-8",
traditional: true,
success: function (response) {
console.log("done:");
console.log(response);
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(JSON.stringify(jqXHR));
console.log("AJAX error: " + textStatus + ' : ' + errorThrown);
}
});
}
게시 한 댓글에서
10:33:21.046 "{"readyState":0,"responseText":"","status":0,
"statusText":"error"}" addBeacon.html:34 10:33:21.046 "AJAX error: error : "
상태 코드 0은 다음 두 가지 중 하나를 의미합니다.
제작 중이라고 하셨기 때문에 # 2의 경우처럼 들립니다.
따라서 페이지를 새로 고치는 작업을 취소해야합니다. send 호출 방법을 표시하지 않기 때문에 다음은 작업을 취소하는 몇 가지 기본 방법입니다.
onclick="send(); return false"
onsubmit="send(); return false"
$("#foo").on("click", function(e) {
send();
e.preventDefault();
});
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다