Layui為前端開發(fā)提供了非常便捷的解決方案,但是當我們需要制作一些較為復雜的項目時,往往需要向后端發(fā)送請求并處理返回的數(shù)據(jù),這時就需要涉及到如何調用PHP文件與Layui交互,讓我們來一起探究一下。
如果我們需要使用Layui進行表單提交,可以使用Ajax來向后端請求,下面是一個簡單的示例:
//基于JQuery的表單提交 $.ajax({ type: "POST", url: "submit.php",//請求的PHP文件地址 data: { name: "John", location: "Boston" }//請求參數(shù) }).done(function( msg ) { alert( "Data Saved: " + msg );//處理返回數(shù)據(jù) });在PHP中處理方法如下:
$name = $_POST['name'];//獲取參數(shù) $location = $_POST['location']; //處理請求 echo "Name: ".$name." Location: ".$location;通過以上簡單的方式,我們就可以使用Layui輕松地向PHP后端發(fā)送請求并處理返回數(shù)據(jù)。 當然,如果我們不需要使用AJAX異步請求,也可以在Layui表單的submit事件中使用php進行處理:
layui.use('form', function(){ var form = layui.form; //監(jiān)聽提交 form.on('submit(formDemo)', function(data){ var name = data.field.name;//獲取layui表單數(shù)據(jù) var location = data.field.location; //后端處理 var url = 'submit.php'; $.post(url,{name:name,location:location},function(result){ console.log(result);//打印返回結果 }); return false; }); });這里我們通過form.on方法來監(jiān)聽表單提交事件,然后使用jquery的$.post方法來向后端發(fā)送請求并處理返回數(shù)據(jù)。值得注意的是,我們使用了return false來阻止原本的表單提交事件。 另外,我們還可以使用Layui的layer組件來向后端發(fā)送請求,并對返回數(shù)據(jù)進行處理,下面是一個簡單示例:
//使用layer組件 layui.use('layer',function(){ var layer = layui.layer; layer.open({ content: '確定刪除?' ,btn: ['刪除', '取消'] ,yes: function(index, layero){ //后端處理 $.get("delete.php?id="+id,function(response){ layer.msg(response.msg,function(){ location.reload();//重新加載頁面 }); }); layer.close(index);//關閉layer } ,cancel: function(){ //右上角關閉回調 } }); });我們利用layer組件中的yes方法來處理刪除操作,其中id作為參數(shù)傳遞給delete.php文件進行處理,刪除完成后我們使用layer.msg來提示用戶,并重新加載當前頁面。 以上是本篇文章的簡單涉及,除此之外,我們還可以使用更為高級的技術進行交互,例如WebSocket等,這些將在后續(xù)文章中介紹。