この関数は基本的に一意のランダムなAPIキーを生成します。生成されない場合は、エラーメッセージを含むポップアップダイアログボックスが表示されます。
ビューページ:
<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>
コントローラから:
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));
}
オプションのcallbackパラメータは、load()メソッドが完了したときに実行するコールバック関数を指定します。コールバック関数は異なるパラメーターを持つことができます:
タイプ:Function(jqXHR jqXHR、String textStatus、String errorThrown)
リクエストが失敗した場合に呼び出される関数。関数は3つの引数を受け取ります。jqXHR(jQuery 1.4.xではXMLHttpRequest)オブジェクト、発生したエラーのタイプを説明する文字列、およびオプションの例外オブジェクト(発生した場合)です。2番目の引数(null以外)の可能な値は、「timeout」、「error」、「abort」、および「parsererror」です。HTTPエラーが発生すると、errorThrownは「Not Found」や「Internal Server Error」などのHTTPステータスのテキスト部分を受け取ります。jQuery 1.5以降、エラー設定は関数の配列を受け入れることができます。各関数が順番に呼び出されます。注:このハンドラーは、クロスドメインスクリプトおよびクロスドメインJSONPリクエストでは呼び出されません。