2013-03-24 3 views
1

jQuery 모달 양식에서 매우 간단한 로그인 양식을 보내려고합니다.Ajax 양식이 제출되지 않았습니다.

$( "#dialog-form" ).dialog({ 
    var url = "../scripts/sign_up.php"; 
    $.ajax({ 
     type: "POST", 
     url: url, 
     data: $("#dialog-form").serialize(), 
     success: function(data){ 
      alert("it works") 
     } 
    }); 
}); 

이것은 아약스를 시험해 본 첫 번째 실제 시도이며 성공 방법을 얻는 데 문제가 있습니다. 내 스크립트가 올바른 위치에 있고 dialog_form에 올바른 ID가 있는지 확인했습니다.

이 정보를 잘못 전달 했습니까? Ajax 요청을 해결하는 좋은 방법이 있습니까?

지금 당장은 정보를 얻으려고 노력하고 있으며 간단히 질문에 양식의 다른 코드를 제거했습니다.

+0

"../scripts/sign_up.php"가 스크립트의 올바른 경로인지 확인하십시오. – hyde

+0

SyntaxError : 예기치 않은 식별자 – Musa

답변

4

첫째,뿐만 아니라 당신의 Ajax 요청에 error 기능을 추가 reccommend 수 있습니다 - 그것은 오류 처리에 도움이 될 수

error: function (jqXHR, textStatus, errorThrown) { 
    alert(textStatus); 
    alert(errorThrown); 
} 

둘째, 당신은 Ajax 요청에 스크립트에서 다시 데이터를 전송하는 방법? 스크립트의 데이터를 반향 출력하지 않는다면, 요청은 스크립트가 성공적으로 실행되었음을 알 수 없습니다. 전체에서

$data = array("success"=> true); 
echo json_encode($data); 
exit; 

을 (스크립트 사용)과 같이 당신의 PHP 스크립트에서 데이터를 반환 한 후

dataType: "json", 

을 그리고 :

따라서, 당신은 당신의 AJAX 호출에 다음을 추가 할 수 있습니다 :

$( "#dialog-form" ).dialog({ 
    var url = "../scripts/sign_up.php"; 
    $.ajax({ 
     type: "POST", 
     url: url, 
     dataType: "json", 
     data: $("#dialog-form").serialize(), 
     success: function(data) { 
      if (data.success) { 
       alert("it works") 
      } 
      else { 
       alert("it failed, but no server error!"); 
      } 
     } 
     error: function (jqXHR, textStatus, errorThrown) { 
      alert("server error"); 
      alert(textStatus); 
      alert(errorThrown); 
     } 
    }); 
}); 
+0

오류 기능 아이디어를 제공해 주셔서 감사합니다. 내 파일을 찾을 수 없으며 404가 표시되는 것처럼 보입니다. – Alex

+0

가져온 페이지에서 스크립트를 사용하고 있는데, 이는 ajax 요청의 상대 경로를 손상시킬 수 있습니까? – Aequanox

+0

음, AJAX 스크립트의 위치를 ​​기준으로 파일에 링크해야합니다 –

관련 문제