Diese Funktion generiert grundsätzlich eindeutige, zufällige API-Schlüssel, und falls dies nicht gelingt, erscheint ein Popup-Dialogfeld mit einer Fehlermeldung
In Ansicht Seite:
<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>
Vom 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));
}
Der optionale Callback-Parameter gibt eine Callback-Funktion an, die ausgeführt werden soll, wenn die load()-Methode abgeschlossen ist. Die Callback-Funktion kann verschiedene Parameter haben:
Art: Function( jqXHR jqXHR, String textStatus, String errorThrown )
Eine Funktion, die aufgerufen wird, wenn die Anfrage fehlschlägt. Die Funktion erhält drei Argumente: Das jqXHR (in jQuery 1.4.x, XMLHttpRequest)-Objekt, eine Zeichenkette, die den Typ des aufgetretenen Fehlers beschreibt, und ein optionales Ausnahmeobjekt, falls eines aufgetreten ist. Mögliche Werte für das zweite Argument (außer null) sind "timeout", "error", "abort" und "parsererror". Wenn ein HTTP-Fehler auftritt, erhält errorThrown den Textteil des HTTP-Status, wie "Not Found" oder "Internal Server Error". Seit jQuery 1.5 kann die Fehlereinstellung ein Array von Funktionen akzeptieren. Jede Funktion wird der Reihe nach aufgerufen. Hinweis: Dieser Handler wird nicht für domänenübergreifende Skript- und JSONP-Anfragen aufgerufen.