点击超链接,通过jquery的AJAX传递超链接所带参数的问题

iou3344 2016-03-02 09:36:17

<title>aaaa页面往bbbb页面通过jquery的AJAX传递参数</title>
<base target="_blank" /> <!-- 确保超链接都是在新窗口打开 -->
<script src="http://www.w3school.com.cn/jquery/jquery-1.11.1.min.js"></script>
<script type="text/javascript">
$(function () {
$('.div11 a').click(function () {
//先获取包含有汉字的href=newurl
var newurl = $(this).attr("href") + "&hanzi=" +encodeURIComponent( $(this).text());//注意编码
//////这里要先跳转到cccc.asp?act=find&name=333&age=25&hanzi=可获取汉字的超链接11111(也要带这些汉字)
/////然后再开始构建向bbbb.asp传递参数的ajax
newurl = newurl.replace('cccc.asp', 'bbbb.asp')///替换下页面就行了,注意bbbb.asp中用request或request.querystring获取参数,因为是参数get提交
alert(newurl)
$.ajax({
url: newurl,//////////////////////////
type: 'POST',
data: {},//
success: function (data) { alert('成功:' + data) },
error: function (xhr) { alert('服务器出错,返回内容:' + xhr.responseText) }
});
//return false;//加上这个就会阻止向cccc.asp跳转,但是我是希望既向cccc.asp跳转,同时又可以通过ajax向bbbb.asp传递参数,两个页面的参数一样,都在原链接的基础上带上hanzi=可获取汉字的超链接1111111。
});
});
</script>
<div class="div11">
<li><a href="cccc.asp?act=find&name=333&age=25">可获取汉字的超链接1111111</a></li>
<li><a href="cccc.asp?act=find&name=444&age=60">可获取汉字的超链接2222222</a></li>
<li><a href="cccc.asp?act=find&name=666&age=40">可获取汉字的超链接3333333</a></li>
</div>
...全文
683 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Deep&Love 2018-11-12
  • 打赏
  • 举报
回复
怎么修改编码啊 我的出来都是%和数字
functionsub 2016-03-02
  • 打赏
  • 举报
回复
需求很奇葩。
$(function () {
    $('.div11 a').click(function(){
        //先获取包含有汉字的href=newurl
        var newurl = $(this).attr("href") + "&hanzi=" +encodeURIComponent( $(this).text());//注意编码
        var _oldurl = newurl;
        //////这里要先跳转到cccc.asp?act=find&name=333&age=25&hanzi=可获取汉字的超链接11111(也要带这些汉字)
        /////然后再开始构建向bbbb.asp传递参数的ajax
        newurl = newurl.replace('cccc.asp', 'bbbb.asp')///替换下页面就行了,注意bbbb.asp中用request或request.querystring获取参数,因为是参数get提交
        alert(newurl)
        $.ajax({
            url: newurl,//////////////////////////
            type: 'POST',
            data: {},//
            success: function (data) { 
                alert('成功:' + data) 
                location.href = _oldurl; //这里跳转,成功后跳转,如果要ajax失败也跳转那就在下面的error里面也加上这
            },
            error: function (xhr) { alert('服务器出错,返回内容:' + xhr.responseText) }
        });
        //return false;//加上这个就会阻止向cccc.asp跳转,但是我是希望既向cccc.asp跳转,同时又可以通过ajax向bbbb.asp传递参数,两个页面的参数一样,都在原链接的基础上带上hanzi=可获取汉字的超链接1111111。
    });
});
iou3344 2016-03-02
  • 打赏
  • 举报
回复
引用 6 楼 functionsub 的回复:
方式一: 通过window.open打开,不用重置a标签的href属性
    $(function () {
        $('.div11 a').click(function () {
            var newurl = $(this).attr("href") + "&hanzi=" +encodeURIComponent($.trim($(this).text()));//注意编码
            var oldurl = newurl; // 保存向bbbb.asp跳转的地址
            newurl = newurl.replace('cccc.asp', 'bbbb.asp');
            $.ajax({
                url: newurl,
                type: 'POST',
                data: {},//
                success: function (data) { alert('成功:' + data) },
                error: function (xhr) { alert('服务器出错,返回内容:' + xhr.responseText) }
            });
            window.open(oldurl); // 直接通过window.open打开,。
            return false;
        });
    });
方式二: 重设href属性
    $(function () {
        $('.div11 a').click(function () {
            var newurl = '' , oldurl = '';
            if($(this).attr('oldurl')){ // 如果有oldurl属性,则不再进行url拼接,直接获取href属性
                newurl = oldurl = $(this).attr("href"); // 
            }else{
                newurl = $(this).attr("href") + "&hanzi=" +encodeURIComponent($.trim($(this).text()));
                oldurl = newurl;
                $(this).attr('oldurl',$(this).attr("href")); // 记录原链接地址
                $(this).attr('href',oldurl); // 重设href属性
            }
            newurl = newurl.replace('cccc.asp', 'bbbb.asp');
            $.ajax({
                url: newurl,
                type: 'POST',
                data: {},
                success: function (data) { alert('成功:' + data) },
                error: function (xhr) { alert('服务器出错,返回内容:' + xhr.responseText) }
            });
        });
    });
你是真的汉子!!!你好棒哟~ 人好 活也好~ 赞一个~100块拿去吧~
functionsub 2016-03-02
  • 打赏
  • 举报
回复
方式一: 通过window.open打开,不用重置a标签的href属性
    $(function () {
        $('.div11 a').click(function () {
            var newurl = $(this).attr("href") + "&hanzi=" +encodeURIComponent($.trim($(this).text()));//注意编码
            var oldurl = newurl; // 保存向bbbb.asp跳转的地址
            newurl = newurl.replace('cccc.asp', 'bbbb.asp');
            $.ajax({
                url: newurl,
                type: 'POST',
                data: {},//
                success: function (data) { alert('成功:' + data) },
                error: function (xhr) { alert('服务器出错,返回内容:' + xhr.responseText) }
            });
            window.open(oldurl); // 直接通过window.open打开,。
            return false;
        });
    });
方式二: 重设href属性
    $(function () {
        $('.div11 a').click(function () {
            var newurl = '' , oldurl = '';
            if($(this).attr('oldurl')){ // 如果有oldurl属性,则不再进行url拼接,直接获取href属性
                newurl = oldurl = $(this).attr("href"); // 
            }else{
                newurl = $(this).attr("href") + "&hanzi=" +encodeURIComponent($.trim($(this).text()));
                oldurl = newurl;
                $(this).attr('oldurl',$(this).attr("href")); // 记录原链接地址
                $(this).attr('href',oldurl); // 重设href属性
            }
            newurl = newurl.replace('cccc.asp', 'bbbb.asp');
            $.ajax({
                url: newurl,
                type: 'POST',
                data: {},
                success: function (data) { alert('成功:' + data) },
                error: function (xhr) { alert('服务器出错,返回内容:' + xhr.responseText) }
            });
        });
    });
iou3344 2016-03-02
  • 打赏
  • 举报
回复
引用 3 楼 functionsub 的回复:
我已经不想说什么了。
别停。。别停。。别停。。。
functionsub 2016-03-02
  • 打赏
  • 举报
回复
我已经不想说什么了。
iou3344 2016-03-02
  • 打赏
  • 举报
回复
要点如下,的确是非常非常非常的奇葩(想想我也想) 1、<base target="_blank" /> <!-- 确保超链接都是在新窗口打开 -->(各种原因,我只能这样才能确保打开的是新窗口,所以,千万千万千万别忽视这个啊!) 2、aaaa.asp是写这个js的页面,其中包含要访问的带有参数的超链接,其中超链接的汉字我们也准备把它们带走 2、cccc.asp是超链接原有的指向,在新开窗口跳转的时候不但要带上原有参数,还要把汉字带走(是汉字,不是汉子!!) 3、bbbb.asp接受ajax传递参数的页面,和cccc.asp接收的参数要一模一样,也即:都在原链接的基础上带上hanzi=可获取汉字的超链接1111111。(给我。给我。我还要。。。) 色情贴的感觉有木有!所以说,汉子们,都来加油啊!!!!!!!!!!
iou3344 2016-03-02
  • 打赏
  • 举报
回复
引用 1 楼 functionsub 的回复:
需求很奇葩。
$(function () {
    $('.div11 a').click(function(){
        //先获取包含有汉字的href=newurl
        var newurl = $(this).attr("href") + "&hanzi=" +encodeURIComponent( $(this).text());//注意编码
        var _oldurl = newurl;
        //////这里要先跳转到cccc.asp?act=find&name=333&age=25&hanzi=可获取汉字的超链接11111(也要带这些汉字)
        /////然后再开始构建向bbbb.asp传递参数的ajax
        newurl = newurl.replace('cccc.asp', 'bbbb.asp')///替换下页面就行了,注意bbbb.asp中用request或request.querystring获取参数,因为是参数get提交
        alert(newurl)
        $.ajax({
            url: newurl,//////////////////////////
            type: 'POST',
            data: {},//
            success: function (data) { 
                alert('成功:' + data) 
                location.href = _oldurl; //这里跳转,成功后跳转,如果要ajax失败也跳转那就在下面的error里面也加上这
            },
            error: function (xhr) { alert('服务器出错,返回内容:' + xhr.responseText) }
        });
        //return false;//加上这个就会阻止向cccc.asp跳转,但是我是希望既向cccc.asp跳转,同时又可以通过ajax向bbbb.asp传递参数,两个页面的参数一样,都在原链接的基础上带上hanzi=可获取汉字的超链接1111111。
    });
});
还是不行啊!!在访问cccc成功丢失汉字的同时,ajajx也坏掉了。。。
超实用的jQuery代码段精选近350个jQuery代码段,涵盖页面开发中绝大多数要点、技巧与方法,堪称史上最实用的jQuery代码参考书,可以视为网页设计与网站建设人员的好帮手。《超实用的jQuery代码段》的代码跨平台、跨设备、跨浏览器,充分向读者演示了如何使用jQuery的各项技术,实现令人激动的网页效果。    《超实用的jQuery代码段》从jQuery框架的使用原理与应用场景出发,对最实用的jQuery代码段进行了全方位的介绍和演示。全书分为11章,包含网页效果、DOM元素与属性、HTML事件、CSS样式、用户输入自动完成、拖放、图形图像、AJAX、算法、jQuery Mobile应用、浏览器、Cookies等jQuery技术内容,对提高网站开发人员和设计人员的jQuery技术水平有指导作用。 超实用的jQuery代码段 目录: 序1 jQuery必知必会 VIII 序2 你绝对不可能全部做对的jQuery题 XVI 序3 最流行的前端面试题 XXIII 第1章 jQuery操作网页 1.1 显示或隐藏网页内容 1.2 切换页面的显示或隐藏 1.3 实现幻灯片式的淡入淡出效果 1.4 切换页面的淡入淡出 1.5 页面的滑动隐藏 1.6 切换页面的滑动 1.7 图片的动画效果 1.8 停止动画效果 1.9 不可不知的Callback回调 1.10 提高效率的链式(Chaining)操作 1.11 在新窗口中打开链接 1.12 强制在弹出窗口中打开链接 1.13 平滑滚动页面到某个锚点 1.14 阻止文本行换行 1.15 实现iframe高度自适应 1.16 实现左右div自适应相同高度 1.17 获取鼠标在屏幕中的坐标 1.18 获取鼠标在窗口客户区中的坐标 1.19 获取鼠标在窗口页面中的坐标 1.20 设置Flash对象的WMode窗口模式 1.21 实现类Twitter的字数限制效果 1.22 提示文本的隐藏与显示 1.23 实现文字闪烁效果 1.24 实现文字动画效果 1.25 实现文字跟随鼠标移动变化的动画效果 1.26 文本域中光标的定位 1.27 实现可折叠效果 1.28 文本框内容自动缩进 1.29 禁止页面滚动的方法 1.30 页面加载后消息框居中显示 1.31 创建页面固定浮动栏的方法 第2章 jQuery操作DOM元素 2.1 如何验证某个元素是否为空 2.2 检查特定的HTML元素是否存在 2.3 判断HTML元素是否嵌套 2.4 获取当前元素的索引值 2.5 插入节点元素 2.6 复制节点元素 2.7 替换节点元素 2.8 删除节点元素 2.9 为元素绑定事件 2.10 如何从元素中除去HTML标签 2.11 如何限制文本域中字符的个数 2.12 如何选中页面上的所有复选框 2.13 禁用表单的回车键提交 2.14 禁用右键单击上下文菜单 2.15 IE下禁用文本选择功能 2.16 输入框获取焦点时文本高亮提示 2.17 实现多个输入框同步操作 2.18 在新窗口中打开外部链接 2.19 jQuery实现outerHTML属性 2.20 实现带固定表头的表格 2.21 为表单内控件设定缺省数值和文本 2.22 防止单个页面重复提交按钮 2.23 取得列表控件选中的option对象 2.24 限制输入框仅接受特殊字符的输入 2.25 禁止页面内全部超链接 2.26 实现动态组合列表框 2.27 如何使用属性过滤器 2.28 如何测试某个元素是否可见 第3章 jQuery操作HTML事件 3.1 禁止或启用输入框 3.2 实时监听输入框字符的变化 3.3 实时监听输入框值的变化 3.4 绑定鼠标右键单击事件 3.5 双击不选中文本 3.6 通过单击事件添加或解除绑定 3.7 激活整个div层的单击事件 3.8 鼠标单击实现div的选取 3.9 模拟鼠标单击事件 3.10 设定时间间隔的方法 3.11 设定时间延迟的方法 3.12 延时显示子菜单的方法 3.13 通过事件获取页面加载时间 3.14 如何为动态添加的元素绑定事件处理函数 3.15 为表格行增加单击事件 3.16 用回车键模拟Tab键 第4章 jQuery操作CSS样式 4.1 使用addClass()函数动态添加样式类 4.2 使用removeClass()函数动态移除样式类 4.3 使用toggleClass()函数切换页面元素的样式类 4.4 为body增加class类支持 4.5 操作div的显示与隐藏 4.6 如何设定div始终居中显示 4.7 测试浏览器是否支持某些CSS 3属性 4.8 如何添加hover类到指定元素 4.9 基于URL地址为导航链接添加class样式 4.10 如何延迟添加class类 4.11 如何延迟清除class类 4.12 动态调整页面的字体大小 第5章 jQuery实现用户输入自动完成功能 5.1 最简单的用户输入自动完成 5.2 使用远程数据源的自动完成 5.3 带缓存的自动完成 5.4 带滚动条的自动完成 5.5 Combobox风格的自动完成 5.6 读取XML数据的自动完成 5.7 多维数据的自动完成 第6章 jQuery实现拖放功能 6.1 基本拖放功能 6.2 基于事件的拖放 6.3 限制移动范围的拖放 6.4 延迟进行的拖放 6.5 具有对齐功能的拖放 6.6 自动滚动的拖放 6.7 反转位置的拖放 6.8 使用事件监控拖曳次数 6.9 拖动时动态更改鼠标的光标类型和位置 6.10 拖曳并放置到目标容器 6.11 限制可放置的元素 6.12 实现可拖放的购物车 6.13 可排序的拖放 6.14 在多个列表之间进行拖放 6.15 使用拖动方式选择多个元素 6.16 在两个Tab标签之间进行元素拖动 6.17 拖动表格选择多行数据 6.18 拖动表格时自动选中复选框 6.19 拖动表格行并放置到目标位置 6.20 表格的拖动排序 6.21 拖动调整控件的大小 6.22 调整控件大小时设置调整约束 6.23 使用拖动的方式调整表格的宽度 6.24 设计可改变单元格宽度并可以多选的表格 第7章 jQuery操作图形图像 7.1 如何更好地处理图片法显示问题 7.2 如何显示图片直到页面加载完成 7.3 预加载显示图片的方法 7.4 Facebook风格的图片预加载 7.5 检查图片src是否有效 7.6 上下滑动的图片 7.7 淡入淡出一幅图片,进入另一幅图片 7.8 获取图片原生尺寸的方法 7.9 检查图像是否已经被完全加载 7.10 单击改变背景图案 7.11 如何显示Flickr网站的图片 7.12 如何显示Google Picasaweb的图片 7.13 按比例调整图片的大小 7.14 滑动效果的背景图片 7.15 动态表单生成图片预览 7.16 平滑滚动的导航菜单 7.17 图片的放大预览 7.18 实现平滑的图片动态缩放效果 7.19 自动适应的窗口背景 7.20 如何判断加载多张图片的完成状态 7.21 鼠标悬停时的图片放大 7.22 淡出图片,淡入另一幅图片 7.23 页面加载时随机显示图片 7.24 按顺序淡入图片显示 7.25 检测图片的URL是否有效 7.26 强制显示图片的方法 7.27 实现可拖动显示的图片 第8章 jQuery实现AJAX 8.1 动态加载外部文件 8.2 动态加载外部网页 8.3 加载网页文件内容并传递服务器端参数 8.4 使用AJAX刷新删除网页记录 8.5 使用AJAX异步验证用户名和密码 8.6 页面滚动时加载新的网页内容 8.7 打造自己的站内搜索引擎 8.8 异步加载并解析XML文件 8.9 动态加载HTML内容到标签页中 8.10 使用AJAX刷新异步提交表单 8.11 使用AJAX刷新上传图片 8.12 使用AJAX刷新验证PHP会话是否有效 8.13 在AJAX异步调用时显示加载指示器 8.14 在AJAX异步调用时处理JSON数据 8.15 解析XML数据并加载到HTML表格 8.16 jQuery AJAX错误的处理方法 8.17 在页面级创建全局的AJAX监听器以及状态指示器 8.18 级联AJAX数据异步加载 8.19 取消AJAX异步请求 第9章 jQuery常用算法 9.1 jQuery遍历算法 9.2 jQuery祖先算法 9.3 jQuery后代算法 9.4 jQuery同胞算法 9.5 jQuery过滤算法 9.6 对一个列表进行排序 9.7 实现JSN对象数组的排序 9.8 将12343778转成12.343.778的形式 9.9 模拟抽奖程序 9.10 实现冒泡算法 9.11 查询数组中特定数值 9.12 从数组中移除特定数值 9.13 根据指定正则表达式识别超链接 9.14 验证Email地址的正确性 9.15 动态统计字符个数 9.16 使用jQuery验证用户年龄 9.17 按照首字母进行元素排序 9.18 获取URL地址的Hash参数 9.19 避免多行文本溢出的算法 9.20 随机选择一个元素 9.21 替换&bnsp;空字符的方法 9.22 序列化表单到JSON数据 9.23 获取页面加载时间 9.24 将单个句子打断显示 9.25 限制只能输入中文、英文或数字 9.26 日期类型与时间戳的转换 9.27 使用数组模拟打字效果 9.28 获取数组中特定索引的最高值 9.29 清除所有的表单内容 9.30 用jQuery删除空白标签和具有非中断空格的标签 第10章 jQuery Mobile移动开发技巧 10.1 让页面自适应屏幕宽度 10.2 在移动设备页面中创建多个显示视图 10.3 创建对话框显示效果 10.4 从外部文件中加载页面内容 10.5 为页面添加转场效果 10.6 设置全局默认的转场效果 10.7 定制显示回退按钮 10.8 在标题栏中添加导航栏 10.9 在页脚区域添加导航栏 10.10 添加可折叠的导航按钮 10.11 实现可折叠的输入表单 10.12 实现手风琴样式的折叠面板 10.13 使用网格打造简单的九宫格界面 10.14 可动态隐藏的页眉和页脚 10.15 最简单的手机相册 10.16 在列表框上添加气泡提示 10.17 在列表框上添加自定义按钮 10.18 为列表添加自定义的缩略图图标 10.19 创建列表日历的效果 10.20 动态创建listview列表项 10.21 动态加载和切换页面 10.22 在页面切换时显示加载进度框 10.23 在屏幕旋转时更改显示样式 10.24 在列表框中实现加载更多效果 10.25 自定义选择菜单 10.26 使用多个选择菜单进行组合选择 10.27 使用多选菜单选择多个值 10.28 创建双重范围的滑块 10.29 实现开关效果的选择功能 10.30 创建主题化的表单效果 第11章 其他常用代码段 11.1 判断jQuery库是否被加载 11.2 解决jQuery库冲突的方法 11.3 jQuery版本检查方法 11.4 解决jQuery版本冲突问题 11.5 如何设置IE特有的功能 11.6 判断浏览器类型并设置HTML元素内容 11.7 加载Google CDN的jQuery库 11.8 Cookies应用方法 11.9 使用cookie.js管理Cookies 11.10 让Cookies在N分钟后过期 11.11 如何删除Cookies 11.12 获取当前页面的URL并添加样式 11.13 向表格追加一行数据 11.14 获取客户端IP 11.15 向Firebug的控制面板发送消息 11.16 根据不同的屏幕大小显示不同的网页 11.17 jQuery遍历对象的属性 11.18 最优化的循环语句写法 11.19 如何构建最优化的字符串 11.20 使用jQuery产生GUID值 11.21 使用jQuery实现聚合函数 11.22 用jQuery打印网页的特定区域 11.23 禁止表单被提交 11.24 使用delay()延迟执行动画 11.25 在网页上运行本地程序的方法 11.26 动态过滤HTML表格中的内容 11.27 使用递归函数创建文字闪烁特效 11.28 使用ID选择器加快选择的速度 11.29 在类选择器前用标签选择器加快速度 11.30 缓存jQuery对象以提升性能 11.31 使用find()函数提升子查询的性能 11.32 使用jQuery操作DOM的限制
第二部分 第1章 认识jQuery 1.1 JavaScript和JavaScript库 1.1.1 JavaScript简介 1.1.2 JavaScript库作用及对比 1.2 加入jQuery 1.2.1 jQuery简介 1.2.2 jQuery的优势 1.3 jQuery代码的编写 1.3.1 配置jQuery环境 1.3.2 编写简单的jQuery代码 1.3.3 jQuery代码风格 1.4 jQuery对象和DOM对象 1.4.1 DOM对象和jQuery对象简介 1.4.2 jQurey对象和DOM对象的相互转换 1.4.3 实例研究 1.5 解决jQuery和其他库的冲突 1.6 jQuery开发工具和插件 1.7 小结 第2章 jQuery选择器 2.1 jQuery选择器是什么 2.2 jQuery选择器的优势 2.3 jQuery选择器 2.3.1 基本选择器 2.3.2 层次选择器 2.3.3 过滤选择器 2.3.4 表单选择器 2.4 应用jQuery改写示例 2.5 选择器中的一些注意事项 2.5.1 选择器中含有特殊符号的注意事项 2.5.2 选择器中含有空格的注意事项 2.6 案例研究——某网站品牌列表的效果 2.7 其他选择器 2.7.1 jQuery提供的选择器的扩展 2.7.2 其他使用CSS选择器的方法 2.8 小结 第3章 jQuery中的DOM操作 3.1 DOM操作的分类 3.2 jQuery中的DOM操作 3.2.1 查找节点 3.2.2 创建节点 3.2.3 插入节点 3.2.4 删除节点 3.2.5 复制节点 3.2.6 替换节点 3.2.7 包裹节点 3.2.8 属性操作 3.2.9 样式操作 3.2.10 设置和获取HTML、文本和值 3.2.11 遍历节点 3.2.12 CSS—DOM操作 3.3 案例研究——某网站的超链接和图片提示效果 3.4 小结 第4章 jQuery中的事件和动画 4.1 jQuery中的事件 4.1.1 加载DOM 4.1.2 事件绑定 4.1.3 合成事件 4.1.4 事件冒泡 4.1.5 事件对象的属性 4.1.6 移除事件 4.1.7 模拟操作 …… 第5章 jQuery对表单、表格的操作及更多应用 第6章 jQueryAjax的应用 第7章 插件的使用和写法 第8章 用jQuery打造个性网站

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧