2014-10-23 4 views
0

편집 : 이제 코드는 응답을 기반으로 작동합니다. 그러나 중단은 여전히 ​​작동하지 않습니다. 중지 한 후에도 POST 요청으로 필드를 업데이트하고 있습니다. 어떻게해야합니까?jQuery - 데이터를 POST로 보내고 중단 하시겠습니까?

폼에서 데이터를 가져 와서 PHP 파일로 보내고 결과를 얻으려고합니다.

이것은 완벽하게 작동했던 코드입니다. 그러나, 내가 아는 한 - 이것으로 중단을 사용하는 것은 불가능합니다.

var xhr = $.post("compareusername.php", { userCreation:$('#userCreation').val() 
}, function(data){ 
$("#userRegexJavascriptResponse").text(data); 
}); 

나는 이것을 추가하려고 시도했다. 함수 호출은 작동하지만 중단이 나타나지 않습니다. 여전히 업데이트됩니다.

xhr(); 
xhr.abort(); 

나는이 내 코드를 변경했지만, 그것은 단지 나누기. 나는 그것이 데이터 라인의 생각, 내가 제대로하고 있어요 생각하지 않는다 : jQuery.ajax 방법을 통해 서버로 데이터를 전송할 때

var xhr = $.ajax({ 
type: "POST", 
url: "accountcreation.php", 
data: "userCreation": #userCreation.val(), 
success: function(msg){ 
    alert("Data Saved: " + msg); 
} 
}); 
xhr(); 
+1

중단을 사용하는 특별한 이유가 있습니까? 구문 오류로 인해 고장났습니다. corect 구문은 데이터입니다 : { "userCreation": $ ('# userCreation') .Val()}, –

+0

'abort'는 클라이언트 측 리스너를 막을 것입니다 (fail handler는'abort' 상태로 실행됩니다) ... 그것은 서버 측 처리를 멈추지 않을 것입니다. –

+0

@WebArtifice 구문을 사용해 주셔서 감사합니다. 불행히도 abort가 작동하지 않습니다. (여전히 요청에서 데이터를 반환합니다.) – icor103

답변

0

는, 그 방법에 대한 인수가 참의 일부로서 최적의 매개 변수를 사용합니까 JSON 객체 인수 1입니다.이 매개 변수는 data

으로 표시됩니다. HTML을 표시하지 않았습니다. 그러나 양식을 제출할 때 전달되는 기본 이벤트 (사용자가 조치 촉매 제출)를 캡처 한 다음 적절하게 응답해야합니다. 기본 알고리즘은 이것이다 :

의 Form_Click ->

  • 는 XMLHttpRequest 객체를 통해 서버에 직렬화 된 형식의 데이터를 전송하는 기본 브라우저 동작을 방지
  • XMLHttpRequest 객체에서 응답이
  • (응답을 기다릴) 수
  • 완료 됨

그게 전부입니다. JavaScript 코드와 관련하여 연결이 닫힙니다. 응답하고 요청을 끝내면 클라이언트 측 코드 (JavaScript)가 완료됩니다. 실제로 jQuery를 함께 보내려면

, 당신의 (아마도) 상황에서, 당신은 당신의 목적에 구성원 요소를 추가합니다 :

{ 
    ... 
    ... 
    data : $(this).serialize(); 
} 
0

그래, 데이터가 유효 보이지 않는다. 이것을 시도하십시오 :

var xhr = $.ajax({ 
    type: "POST", 
    url: "accountcreation.php", 
    data: "userCreation=" + $('#userCreation').val(), 
    success: function(msg){ 
     alert("Data Saved: " + msg); 
    } 
}); 
xhr(); 
관련 문제