2013-02-20 2 views
0

I이 서버에서 호스팅되는 PHP 파일을 통해 MySQL 데이터베이스에 양식을 보내기위한 다음 아약스 전화 :아약스 PHP는 MySQL은 데이터가 삽입 될 때 확인을 검색

<script type"text/javascript"> 
$(document).ready(function(){ 
    $("form#submit").submit(function() { 
    // we want to store the values from the form input box, then send via ajax below 
    var fname  = $('#fname').attr('value'); 
    var lname  = $('#lname').attr('value'); 

     $.ajax({ 
      type: "POST", 
      url: "jquery-ajax-control.php", 
      data: "fname="+ fname + "&lname=" + lname, 
      success: function(){ 
       $('form#submit').hide(); 
       //$('form#submit :input').val(""); 
       $('div.success').fadeIn(); 
      } 
     }); 
    return false; 
    }); 
}); 
</script> 

그리고 내 PHP :

<?php 

    include ("db.php"); 

    // CLIENT INFORMATION 
    $fname  = htmlspecialchars(trim($_POST['fname'])); 
    $lname  = htmlspecialchars(trim($_POST['lname'])); 

    $addClient = "INSERT INTO clients (fname,lname) VALUES ('$fname','$lname')"; 
    mysql_query($addClient) or die(mysql_error()); 

?> 

성공 함수에서 아약스는 연결이 끊어지고 다른 서버에서 호스팅되는 PHP 파일을 가지고 있어도 데이터가 데이터베이스에 삽입되도록 경고 메시지를 PHP 또는 mysql에서 검색하려고합니다. 어떻게 할 수 있습니까? 고맙습니다!

답변

1

jquery-ajax-control.php 스크립트가이 정보 (JSON 문자열로 인코딩되었을 수 있음)를 반환하고 성공 함수에서 구문 분석하도록하십시오. 당신은 단지에 따라 메시지를 반환하기 위해 당신의 PHP 스크립트를 변경해야 할 것

 $.ajax({ 
     type: "POST", 
     url: "jquery-ajax-control.php", 
     data: "fname="+ fname + "&lname=" + lname, 
     success: function(message) { 
      alert(message); 
     } 
    }); 

: 여기

은 (요청이 성공하면) 경고의 PHP 스크립트의 출력을 표시 할 예입니다 무슨 일이야.

또한 올바른 HTTP 상태 코드 (예 : 오류가있는 경우 500)를 반환하도록 PHP 스크립트를 수정하고 jQuery가 ajax 메소드에 허용하는 다양한 콜백 함수를 사용하여이를 확인할 수 있습니다.

+0

하지만 아약스가 PHP에 도달하지 않으면 어떻게됩니까? 이 오류를 어떻게 잡을 수 있습니까? – user1820705

+0

아약스 메서드에서 시간 초과를 설정할 수 있다고 생각합니다. 요청 시간이 초과되면 "오류"함수가 호출되어 거기에서 처리 할 수 ​​있습니다. – ChrisC

0

우선, 다른 서버에서 PHP를 호출하면 jsonp로 전화를 걸지 않으면 오류가 발생합니다.

그리고 다음 부분에서는 php 파일이 연결로 인해 오류가 발생하면 PHP의 응답을 통해 오류를 보내고 jquery ajax 콜백 함수 성공에서 오류를 가져올 수 있습니다.

또한 콜백 함수에서 메시지를 가져 와서 자바 스크립트 경고 메시지를 통해 표시 할 수 있습니다.

관련 문제