2015-01-24 3 views
0
내가 서버 A에서 데이터를 게시하기 위해 노력하고있어

,의 말을하자jQuery를 POST 아약스 요청

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<script src="http://code.jquery.com/jquery-latest.min.js"></script>  
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<title>Naamloos document</title> 
</head> 

<body> 

<form id="Form" onsubmit="validate();" method="post"> 
Email Address: <input type="text" id="email" name="email"> 
Password: <input type="text" id="password" name="password"> 
<input type="submit"> 
</form> 

<script> 
function validate() 
{ 
var e = $('email').value; 
var p = $('password').value; //jQuery is easier to type 
// the same as 
// var p = document.getElementById('password').value; 
var req = new Request({ 
    url: 'http://www.B.com/validate.php?', 
    method: 'post', 
    data: {'email' : e, 'password' : p}, 
    onComplete: function(response) 
    { 
     if (response == "Valid") 
     { 
      alert("succes"); 
     } 
     else 
     { 
      alert("blur"); 
     } 
    } 
}).send(); 
} 
</script> 

</body> 
</html> 

을하지만,이 순간에, 제출 버튼을 눌렀을 후, happends 유일한 것은, 필드가 삭제되고 있다는 모든 이잖아 : 같은,이 스크립트는 서버 A에서 실행됩니다.

Validate.php은 다음과 같습니다 : 자바 스크립트 결코 큰 아무것도 할 수있는 기회를 얻을 수 없다, 그래서 당신은 양식을 제출하고

<?php echo "Valid"; ?> 
+0

으로이

var e = $('email').value; var p = $('password').value; 

을 대체하려고? – Oxi

+0

요청에'onError' 핸들러를 추가하십시오. 'console.log (response)'를 사용하여 콘솔에 응답을 기록하십시오. –

+0

그리고'Request' 클래스가 무엇인지 알려주세요. 잘 모르겠습니다. –

답변

2

. action을 지정하지 않았으므로 현재 URL로 제출하고 페이지를 다시로드합니다.

  1. 본질적인 이벤트 속성 사용을 중지하십시오.
  2. 이벤트

등의 제출 이벤트 객체를 캡처의 기본 동작을 방지 (이미 jQuery를 사용하고 있기 때문에, 그것을 계속 사용) 결합

  • 사용 JS 이벤트 :

    <form id="Form" method="post"> 
    
    $('#Form').on('submit', validate); 
    
    function validate (event) { 
        event.preventDefault(); 
        var e = $('#email').val(); 
    

    Request도 정의되어 있지 않은 것으로 보입니다. jQuery ajax


    는 또한 서버 B는 서버에게 CORS를 사용하는 Ajax 요청을 만들 수있는 권한을 부여해야합니다주의에 당신은 아마 전환해야합니다.

  • +0

    코드를 수정 해 주시겠습니까? 이것은 유효한 문법이 아닙니다 ... :) –

    +0

    이제는 :) .... – mplungjan

    +0

    글쎄, 그것은 유효한 구문이었고, 작동하지 않았지만 그 비트는 OP 코드였습니다 :) – Quentin

    0

    브라우저 콘솔에 인쇄 오류가이

    var e = $('#email').val(); 
    var p = $('#password').val();