Questa funzione genera sostanzialmente chiavi API casuali univoche e, nel caso in cui non lo fosse, viene visualizzata una finestra di dialogo pop-up con messaggio di errore
Nella pagina di visualizzazione:
<div class="form-group required">
<label class="col-sm-2 control-label" for="input-storename"><?php echo $entry_storename; ?></label>
<div class="col-sm-6">
<input type="text" class="apivalue" id="api_text" readonly name="API" value="<?php echo strtoupper(substr(md5(rand().microtime()), 0, 12)); ?>" class="form-control" />
<button type="button" class="changeKey1" value="Refresh">Re-Generate</button>
</div>
</div>
<script>
$(document).ready(function(){
$('.changeKey1').click(function(){
debugger;
$.ajax({
url :"index.php?route=account/apiaccess/regenerate",
type :'POST',
dataType: "json",
async:false,
contentType: "application/json; charset=utf-8",
success: function(data){
var result = data.sync_id.toUpperCase();
if(result){
$('#api_text').val(result);
}
debugger;
},
error: function(xhr, ajaxOptions, thrownError) {
alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
}
});
});
});
</script>
Dal controller:
public function regenerate(){
$json = array();
$api_key = substr(md5(rand(0,100).microtime()), 0, 12);
$json['sync_id'] = $api_key;
$json['message'] = 'Successfully API Generated';
$this->response->addHeader('Content-Type: application/json');
$this->response->setOutput(json_encode($json));
}
Il parametro callback facoltativo consente di specificare una funzione di callback da eseguire al completamento del metodo load (). La funzione di callback può avere diversi parametri:
Tipo: Funzione (jqXHR jqXHR, String textStatus, String errorThrown)
Una funzione da chiamare se la richiesta fallisce. La funzione riceve tre argomenti: l'oggetto jqXHR (in jQuery 1.4.x, XMLHttpRequest), una stringa che descrive il tipo di errore che si è verificato e un oggetto facoltativo di eccezione, se presente. I valori possibili per il secondo argomento (oltre a null) sono "timeout", "errore", "abort" e "parsererror". Quando si verifica un errore HTTP, errorThrown riceve la parte testuale dello stato HTTP, ad esempio "Non trovato" o "Errore interno del server". A partire da jQuery 1.5, l'impostazione dell'errore può accettare una matrice di funzioni. Ogni funzione verrà chiamata a turno. Nota: questo gestore non viene chiamato per richieste di script JSONP tra domini e tra domini.