2014-12-18 3 views
0

PHP 응용 프로그램 개발을 위해 codeignitor를 사용하고 있습니다. jquery를 사용하여 아약스 호출을 시도했다. 그러나 제대로 작동하지 않습니다. 제출 버튼을 누르면 경고 상자를 표시하는 대신 동일한 양식이 다시로드됩니다. 당신의 도움은 매우 도움이 될 것입니다. 내가 공유하고 코드 -Ajax PHP가 작동하지 않습니다.

<html> 
<head> 
    <title> My Information </title> 
    <script type="text/javascript" src="/jquery/jquery-1.3.2.min.js"></script> 
    <script type="text/javascript" language="javascript"> 
    $(document).ready(function() { 
    $('#submit').click(function(){ 

    // alert('Btn clicked'); 
    var form_data= { 
    username: $('#username').val(), 
    address: $('#address').val()  
    }; 

    $.ajax({ 
     type: 'POST', 
     url: 'http://localhost/ci-ajax/index.php/user/auth', 
     data: form_data, 
     success: function(data) { 
      $('body').html(data); 
     }       


    }); 

    }); 

    }); 

    </script> 
    </head> 
    <body> 
    <form> 
    <label>User Name : </label> 
    <input type="text" name="username" id="username"> 
    <label>Address : </label> 
    <input type="text" name="Address" id="address"> 
    <input type="submit" value="Submit" name="submit" id="submit"> 
    </form> 
</body> 
</HTML> 

컨트롤러

Class : user and function auth 

public function auth() 
{ 
    echo "Welcome"; 
} 
+0

을 그건 그렇고, 당신은 jQuery를의 약간 더 최신 버전을 사용할 수 있습니다. – jeroen

답변

2

당신은 제출 동작을 방지 할 수있는 방법이 필요하다. 아마도 가장 간단한 해결 방법은 입력 유형을 submit에서 button으로 변경하는 것입니다. 다른 것을 원한다면, 기능의 끝에서 항상 preventDefault 또는 return false 일 수 있습니다. return false;

예 : 코드에서

$('#submit').click(function() { 

    // alert('Btn clicked'); 
    var form_data = { 
    username: $('#username').val(), 
    address: $('#address').val() 
    }; 

    $.ajax({ 
    type: 'POST', 
    url: '', 
    data: form_data, 
    success: function(data) { 
     $('body').html(data); 
    } 


    }); 

    return false; 

}) 
+1

그리고 우승자가 있습니다! 이것은 예를 제공하기 위해 페이지를 다시로드 & +1하는 것을 방지합니다 : D – Darren

1

는 양식은이 양식은 서버에 submited됩니다 제출을 클릭 그렇게 할 때, 입력을 제출 있습니다. 그래서 $에서 반환을 추가 ('# 제출'). 클릭 (함수() {}. 그렇지 않으면 양식을 제출합니다.

관련 문제