zoukankan      html  css  js  c++  java
  • AJAX扩展-POST传递参数并跳转页面

    拓展的代码:

    这段代码的原理是创建一个表单,所有args都创建一个隐藏的input,用post方法把这些参数传递过去

    注意form表单一定要加载到页面中,即下面代码中标红的部分,不然参数是无法被传递的(因为这个被坑了)

        $.extend({
            StandardPost:function(url,args){
                var form = $("<form method='post'></form>"),
                    input;
            //jquery方式 $(document.body).append(form);
            //js原生添加
            //document.body.appendChild(form);
    form.attr({
    "action":url}); $.each(args,function(key,value){ input = $("<input type='hidden'>"); input.attr({"name":key}); input.val(value); form.append(input); }); console.log(args); form.submit(); } });

    简单调用:

    $.StandardPost('url/path/req',{arg0:'arg0',arg1:'arg1'}); 

    获取url链接传递的参数

        var Request = new Object();
        Request = GetRequest();
        function GetRequest() {
            var url = location.search; //获取url中含"?"符后的字串
            var theRequest = new Object();
            if (url.indexOf("?") != -1) {
                var str = url.substr(1);
                strs = str.split("&");
                for (var i = 0; i < strs.length; i++) {
                    theRequest[strs[i].split("=")[0]] = strs[i].split("=")[1];
                }
            }
            console.log(theRequest)
            return theRequest;
        }

    这是用post方法跳转页面,即跳转的页面是不带后面的参数的

    当然也可以直接用get方法,直接链接跳转携带返回参数

    比如:

    window.location.href = "/?go="+Request["go"]+"&arg0="+Request["arg0"]+"&arg1="+Request["arg1"];
  • 相关阅读:
    jQuery 源码基本框架
    jQuery 源码细读 -- $.Callbacks
    Excel等外部程序点击链接会带上IE信息的bug
    &nbsp; 与 空格的区别
    前端模板文件化jQuery插件 $.loadTemplates
    客户端渲染的页面能否被搜索引擎完整收录呢?
    javascript 函数声明问题
    JavaScript 继承机制小记
    link与@import
    tcp_udp
  • 原文地址:https://www.cnblogs.com/calamus/p/7886089.html
Copyright © 2011-2022 走看看