再過去版本中可使用IndexRoute作為設定首頁進入點,但在React Router 4設定上有所改變,全都使用Route,而需要設定為首頁加入exact屬性。在Layout方面本來使用Route帶入元件,在React Router 4直接使用react元件,如下在Layout元件中使用this.props.children顯示子路由。

Add a comment

在views/temp目錄下創建當php檔案如下分別鍵入html與Javascript jQuery Ajax部分。

建立views頁面

<?php
    <form action="<?php echo JUri::getInstance(); ?>" id="adminForm" name="adminForm" enctype="multipart/form-data" method="post">

      <input name='user' placeholder='user'><br>
      <input name='password' type='password' placeholder='password'><br>
      <input type="file" name="file"/>
      <button type='submit'>Try</button>

    </form>
    <script>
        (function($)
        {
            $('button').click(function(e){
                e.preventDefault();
                var form = $('form')[0];
                var formData = new FormData(form);
                $.ajax({
                    url:'index.php?option=com_hrsystem&view=training&layout=upload&format=json',
                    type : "POST",
                    data : formData,
                    contentType: false,
                    cache: false,
                    processData: false,
                    success : function(data) 
                    {
                         console.log(data);

                    },error: function(data) 
                    {
                        console.log('無法送出');
                    }
                })

            });
        })(jQuery);
    </script>
?>
Add a comment

備份資料

  1. 備份資料庫:

    備份 Reporting Services sql 資料庫。

  2. 備份加密金鑰:

    開啟 Reporting Services 組態管理員 → 點選加密金鑰 → 備份 → 指定加密檔的儲存位置及密碼

Add a comment

有時候我們會用在網址後面帶參數的做法來在網頁間傳遞一些簡單的資料(QueryString),例如:index.aspx?id=U001&name=GQSM,而JavaScript目前沒有Function可以直接取到後方的資料,所以就得使用一些方式。

//先取得網址字串,假設此頁網址為「index.aspx?id=U001&name=GQSM」
var url = location.href;

//再來用去尋找網址列中是否有資料傳遞(QueryString)
if(url.indexOf('?')!=-1)
{
    //之後去分割字串把分割後的字串放進陣列中
    var ary1 = url.split('?');
    //此時ary1裡的內容為:
    //ary1[0] = 'index.aspx',ary2[1] = 'id=U001&name=GQSM'

    //下一步把後方傳遞的每組資料各自分割
    var ary2 = ary1[1].split('&');
    //此時ary2裡的內容為:
    //ary2[0] = 'id=U001',ary2[1] = 'name=GQSM'

    //最後如果我們要找id的資料就直接取ary[0]下手,name的話就是ary[1]
    var ary3 = ary2[0].split('=');
    //此時ary3裡的內容為:
    //ary3[0] = 'id',ary3[1] = 'U001'

    //取得id值
    var id = ary3[1];

}
Add a comment

serialize()方法使用標準URL編碼表示法創建文本字符串。它可以充當已經選擇個別表單控件,諸如jQuery對象上<input>,<textarea>和<select>:$( "input, textarea, select" ).serialize();通常更容易選擇<form>自身進行序列化:

$( "form" ).on( "submit", function( event ) {
  event.preventDefault();
  console.log( $( this ).serialize() );
});

在這種情況下,jQuery序列化表單中的成功控件。form檢查元素是否包含它們包含的輸入,在所有其他情況下,要序列化的輸入元素應該是傳遞給.serialize()方法的集合的一部分。在集合中選擇表單及其子項將導致序列化字符串中出現重複。

Add a comment