2017-07-03 1 views
0

Eingabedaten über Ajax Anruf senden und in PHP-Datei

Ich möchte Eingabefeld Daten bei Änderung über Ajax Aufruf an PHP-Datei senden und dann diese Daten in Datenbank prüfen, wenn verfügbar, dann Fehlermeldung anzeigen und wenn nicht dann Erfolgsmeldung anzeigen.

Unten ist mein Code - HTML-Code -

<lable class="required">Guillemot Reference Number:<em>*</em></lable><span><input type="text" name="case_number" id="case_number" class="input-text required-entry" value="" onChange="checkReferenceNumber()"/> <p class="case_number_warning" style="color:red; vertical-align: bottom; font-size: smaller; display:inline;"> Already Exists </p></span>

Javascript -

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
 
    <script type="text/javascript"> 
 
    jQuery(document).ready(function($){ \t 
 
    \t $('.case_number_warning').hide(); 
 
    \t $("#case_number").on('change', function(){ 
 
    \t \t $('.case_number_warning').hide(); 
 
    \t \t var datetime = d.getTime(); 
 
    \t \t var case_number = $('#case_number').val(); 
 
    \t \t $.ajax({ 
 
    \t \t  url: '/checkReferenceNumber.php', 
 
    \t \t  type: 'POST', 
 
    \t \t  data:({ 
 
    \t \t \t action \t : 'checkrefno', 
 
    \t \t \t case_number : case_number 
 
    \t \t \t }), 
 
    
 
    \t \t  success:function(result) { 
 
    \t \t \t alert("Sent"); \t 
 
    \t \t \t var response = JSON.stringify(result); 
 
    \t \t \t }, 
 
    \t \t  error: function() { alert("Already Exists"); $('.case_number_warning').show(); } 
 
    \t \t }); \t \t \t \t \t \t 
 
    \t }); 
 
    }); 
 
    
 
    </script> 
 
    <script>jQuery.noConflict();</script>

checkReferenceNumber.php CodePhp Datei -

<?php 
set_time_limit(0); 
require_once '/var/www/html/app/Mage.php'; 
umask(0); 
ini_set('memory_limit', '-1'); 
Mage::app('default'); 
$connection = Mage::getSingleton('core/resource')->getConnection('core_write'); 

    $action = trim($_REQUEST['action']); 
    $case_number = trim($_POST['case_number']); 
    /* 
    $action = 'checkrefno'; 
    $case_number = 'Ref-12345678'; 
    */ 

    if($action == 'checkrefno'){ 
     $refno_output = $connection->fetchOne("select reference_number from guillemot_reference_number where reference_number = '".$case_number."'"); 
     if($refno_output) { 
      echo "\nReferece no - ". $refno_output; 
     } 
    } 
?> 

Dabei möchte ich Eingabe überprüfen Daten abgelegt ist in der Datenbank oder nicht auf Ajax OnChange-Ereignis zur Verfügung, wenn Daten verfügbar sind, sollte es Meldung zurückgeben, die Daten verfügbar oder wahr oder falsch ist .

Ich möchte Antwortdaten von PHP-Code erhalten. Wie man Daten von PHP-Code in PHP-Datei zurückgibt. und Fehlermeldung anzeigen.

Jede Hilfe wäre willkommen.

Dank

Antwort

1

In PHP verwenden exit wenn Referenznummer wie

gefunden
........ 
    if($action == 'checkrefno'){ 
     $refno_output = $connection->fetchOne("select reference_number from guillemot_reference_number where reference_number = '".$case_number."'"); 
     if($refno_output) { 
      echo $refno_output; 
      exit; 
     } 
    } 
    echo 'NOTFOUND'; // status NOT FOUND ref code 
    exit; 
?> 

In JQuery verwenden

$("#case_number").on('change', function(){ 
    $('.case_number_warning').hide(); 
    var datetime = d.getTime(); 
    var case_number = this.value; // use simple this.value here 
    $.ajax({ 
     url: '/checkReferenceNumber.php', 
     type: 'POST', 
     data:({ 
      action : 'checkrefno', 
      case_number : case_number 
     }), 
     success:function(result) { 
      alert("Sent"); 
      if(result==="NOTFOUND"){ 
       alert("Not Exists"); 
      } else { 
       alert("Ref Num "+result+" already Exists"); 
       $('.case_number_warning').show(); 
      }    
     } 
    }); 
}); 
+0

Dank seiner Arbeit gut. –

0

Sie die(json_encode()); Funktion auf PHP-Datei

if($refno_output) { 
      die(json_encode($refno_output)); 
     } 
0

Wie ich JSON sehen Sie verwenden

  success:function(result) { 
      alert("Sent"); 
      var response = JSON.stringify(result); 
      }, 

So Daten von PHP zu bekommen in JS verwenden, sollten Sie zurückkehren können JSON Zeichenkette in PHP

if($action == 'checkrefno'){ 
    $refno_output = $connection->fetchOne("select reference_number from guillemot_reference_number where reference_number = '".$case_number."'"); 
    if($refno_output) { 
     $return = array("success" => true, "refno" => $refno_output); 
     echo json_encode($return); 
    }else{ 
     $return = array("success" => false, "error" => "Some error"); 
     echo json_encode($return); 
    } 
} 

und verwenden Sie es in JS

  success:function(result) { 
      alert("Sent"); 
      var err = false; 
      var response = null; 
      try{ 
       response = JSON.parse(result); 
      }catch(e){ 
       err = true; 
       console.error(e); 
      } 
      if(response.success && !err){ 
       //do something with response.refno 
      }else{ 
       //if error 
      } 
      },