縮短url長度,攔截 get 提交

因爲 js 無法獲取到 post 數據,程序中採用了 php 模板引擎獲取,別的語言自行替換。注意保存成 html , 別的頁面引入。

代理不光監聽了 form,根據實際業務需求還監聽了 a,核心代碼是 POST。

 


	<script>
// console.log(window.location.pathname);
// if (window.location.pathname.indexOf('liaison') == -1) {
    // 獲取 form 的 action
    var form_url = $('#main form').attr('action');

// 查看當前頁面的 post 包
    /*$('#get_post').on('click', function () {
				console.log({:json_encode(input('param.'))});
		})*/
// 監聽頁面的提交
    $('#main form').on('submit', function () {
        // 獲取表單數據,
        var params = ($("form").serializeArray()); //輸出數組

        Post(form_url, params);
        return false;
    });

// 監聽分頁跳轉

    $('.pagess a').on('click', function () {
        // 處理 post 包
        var page = $(this).html();

        var post_data = {:json_encode(input('param.'))};
        var params = [];
        for (var i in post_data) {
            var tmp = {
                name: i,
                value :post_data[i]
            }
            params.push(tmp);
        }
        params.push({name:'page', value:page})
        Post(form_url, params);
        return false;
    })

    function Post(URL, PARAMTERS) {
        //創建form表單
        var temp_form = document.createElement("form");
        temp_form.action = URL;
        //如需打開新窗口,form的target屬性要設置爲'_blank'
        temp_form.target = "_self";
        temp_form.method = "post";
        temp_form.style.display = "none";
        //添加參數
        for (var item in PARAMTERS) {
            var opt = document.createElement("textarea");
            opt.name = PARAMTERS[item].name;
            opt.value = PARAMTERS[item].value;
            temp_form.appendChild(opt);
        }
        document.body.appendChild(temp_form);
        //提交數據
        temp_form.submit();
    }
// }

	</script>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章