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

import React, { Component } from "react";
import ReactDOM from "react-dom";
import { Router, Route, Switch } from "react-router";
import { BrowserRouter, HashRouter, Link } from "react-router-dom";
class Layout extends React.Component {
    constructor(props) {
        super(props);
    }
    render() {
        return (
            <div>
                <h1>App</h1>
                <ul>
                    <li>
                        <Link to="/">Home</Link>
                    </li>
                    <li>
                        <Link to="/about">About</Link>
                    </li>
                    <li>
                        <Link to="/about2">About2</Link>
                    </li>
                </ul>
                {this.props.children}
            </div>
        );
    }
}
class About extends Component {
    constructor(props) {
        super(props);
    }
    render() {
        return <div>about</div>;
    }
}class About2 extends Component {
    constructor(props) {
        super(props);
    }
    render() {
        return <div>about2</div>;
    }
}
class Home extends Component {
    constructor(props) {
        super(props);
    }
    render() {
        return (
            <div>home
                <div>
                    <Link to="/about"> 
                        Link About
                    </Link>
                </div>
            </div>
        );
    }
}
class App extends Component {
    constructor(props) {
        super(props);
    }
    render() {
        return (
            <HashRouter>
                <Switch>
                    <Route
                        exact
                        path="/"
                        component={Home}
                    />
                    <Layout>
                        <Route path="/about" component={About} />
                        <Route path="/about2" component={About2} />
                    </Layout>
                </Switch>
            </HashRouter>
        );
    }
}
ReactDOM.render(<App />, document.getElementById("root"));

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>
?>

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];

}

Comment

備份資料

  1. 備份資料庫:
    備份 Reporting Services sql 資料庫。

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

Comment

Copyright © 2018 ucamc