close
<?php
$returnArray["detail"] = "新增失敗";
$returnArray["result"] = false;
try {
	if(empty($name)){
		throw new \Exception('資料錯誤 名稱 不得為空');
	}
	$insert_stmt = sqlsrv_prepare($this->msdb,
		"INSERT INTO [table] ( 名稱  , 新增時間 ) VALUES ( ? , GETDATE() );",
		array(&$name)
	);
	if(!$insert_stmt) {
		throw new \Exception('資料庫執行新增資料失敗,請再嘗試一次,如果還有問題請與我們聯絡。');
	}else if(!sqlsrv_execute($insert_stmt)) {
		throw new \Exception('資料庫執行新增資料失敗,請再嘗試一次,如果還有問題請與我們聯絡。');
	} else if(sqlsrv_rows_affected($insert_stmt) !== 1) {
		throw new \Exception("資料庫執行新增資料筆數錯誤,請再嘗試一次,如果還有問題請與我們聯絡。");
	}  	
	$returnArray["detail"] = "新增成功";
	$returnArray["result"] = true;
	
} catch(\Exception $e) {
	$returnArray["debug"] = $e->getMessage();
}
return new JsonModel(['returnArray' => $returnArray]);
	
?>

javascript

function Validator(baseurl){
	var status = true;
	$('#insert_error').text('');
	$('#insert_error').hide();
	// 資料欄位檢查
	if(status == true){
		var options={
			url     : baseurl,
			success : function(data) {
				data = data.returnArray
				if(data.result){
					alert('成功');
				}else{
					$('#insert_error').text(data.detail+","+data.debug)
					$('#insert_error').show()
				}
			},
			error: function(xhr, ajaxOptions, thrownError) {
				$('#insert_error').text(xhr.status+' '+thrownError)
				$('#insert_error').show()
			}

		};
		$("#insertform").ajaxSubmit(options);	
	}
	return false;
}

Html

 <form id="insertform" name="insertform" method="POST">
 	<input type="hidden" class="form-control" name="do" value="insert" >
    <div class="row">
        <div class="col-md-12">
            <div class="form-group">
                <label>名稱</label>
                <input type="text" class="form-control" name="name">
            </div>
        </div>
    </div>      
     <div class="row">
        <div class="col-md-12">
            <div class="alert alert-dismissable alert-danger" id="insert_firm_error" style="display:none">
                <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
            </div>
         </div>
    </div>
   	<button type="submit" class="btn btn-warning" onclick="JavaScript:return Validator('<?php echo $this->serverUrl('/project/public/action') ?>');" >送出</button>          
</form>
arrow
arrow
    文章標籤
    try catch zend framework 3 ajax
    全站熱搜

    kkkelu1008 發表在 痞客邦 留言(0) 人氣()