在ASP.NET中ajaxURL参数传递问题,大家帮帮忙!

zyf_c_s_d_n 2014-04-15 04:58:57
用AJAX请求服务器,
传递的URL为:productAppraisal.ashx?action=put&pl=<p><span style="color:#ff0000;">11111111</span></p>;
红色的文字是要传递的参数之一,是HTML格式的,但是在服务器端总是取不到这个参数,取到的只是一小段:<p><span style="color:

网上看了encodeURI好像能解决,如果可以解决,怎么用?
如果有其他的办法,麻烦告诉一下办法!

谢谢
...全文
458 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyf_c_s_d_n 2014-04-29
  • 打赏
  • 举报
回复
引用 23 楼 ysn1314 的回复:
汗 还没解决啊 给你个JQ POST代码

$.ajax({
                type: "post",
                dataType: "html",
                data: $('#myform').serialize(), //form id
                url: "../dataajax.aspx?type=adu&datatype=" + dt + "&r=" + Math.random(), //提交地址
                beforeSend: function (XMLHttpRequest) {  //提交前处理
                    ValidateDisabled("BtnSubmit", false);
                },
                success: function (data) {   
                    if (data == "") {
                        if(document.getElementById("dataadu")){
                            if (confirm("提交成功,是否返回管理页面?")) 
                                location.href = GetQueryString("url");
                        }else
                            alert("提交保存数据成功.");
                    } else {
                        alert(data);
                    }
                    ValidateDisabled("BtnSubmit", true);
                },
                error: function () {
                    alert("ajax error...");
                    ValidateDisabled("BtnSubmit", true);
                }
            });

谢谢,等有时间试试
闲游四疯 2014-04-19
  • 打赏
  • 举报
回复
汗 还没解决啊 给你个JQ POST代码

$.ajax({
                type: "post",
                dataType: "html",
                data: $('#myform').serialize(), //form id
                url: "../dataajax.aspx?type=adu&datatype=" + dt + "&r=" + Math.random(), //提交地址
                beforeSend: function (XMLHttpRequest) {  //提交前处理
                    ValidateDisabled("BtnSubmit", false);
                },
                success: function (data) {   
                    if (data == "") {
                        if(document.getElementById("dataadu")){
                            if (confirm("提交成功,是否返回管理页面?")) 
                                location.href = GetQueryString("url");
                        }else
                            alert("提交保存数据成功.");
                    } else {
                        alert(data);
                    }
                    ValidateDisabled("BtnSubmit", true);
                },
                error: function () {
                    alert("ajax error...");
                    ValidateDisabled("BtnSubmit", true);
                }
            });

still_melody 2014-04-18
  • 打赏
  • 举报
回复
引用 21 楼 zyf_c_s_d_n 的回复:
[quote=引用 18 楼 ct5732 的回复:] 传递的URL改为...试一下
不行,无论用不用encodeURI后台取到的pl值总是到<p><span style="color:就结束了,后半段没传过来[/quote] 是因为get传参是有大小限制的 建议先搞清楚get 跟post的区别
zyf_c_s_d_n 2014-04-17
  • 打赏
  • 举报
回复
引用 18 楼 ct5732 的回复:
传递的URL改为...试一下
不行,无论用不用encodeURI后台取到的pl值总是到<p><span style="color:就结束了,后半段没传过来
zyf_c_s_d_n 2014-04-17
  • 打赏
  • 举报
回复
引用 19 楼 still_melody 的回复:
[quote=引用 11 楼 zyf_c_s_d_n 的回复:] [quote=引用 10 楼 still_melody 的回复:] 服了 为什么非要传html 你传一个&color=red 然后到ashx里自己拼接不行啊
我用的CKEditor的富文本编辑器取代Textarea,JS获取的CKEditor的值就是html格式的,我想知道有什么合适的办法,能把取到的数据传到后台[/quote] 这个明显用post 用get传参是有大小限制的! 你编辑器里的文本肯定是超出限制的 <form id="UpLoadForm" name="UpLoadForm" method="post" enctype="multipart/form-data" action='savenews.ashx'> ....你的内容 </form> 然后在ashx里 用 context.Request.Form["editorid"]来获取内容就行了 [/quote] 谢谢你的耐心回答,我是新手,不会用JQurey提交表单,目前只会用XMLHTTPREQUEST传递一些简单的请求,不知道XMLHTTPREQUEST怎么提交表单实现无刷新。
still_melody 2014-04-17
  • 打赏
  • 举报
回复
引用 11 楼 zyf_c_s_d_n 的回复:
[quote=引用 10 楼 still_melody 的回复:] 服了 为什么非要传html 你传一个&color=red 然后到ashx里自己拼接不行啊
我用的CKEditor的富文本编辑器取代Textarea,JS获取的CKEditor的值就是html格式的,我想知道有什么合适的办法,能把取到的数据传到后台[/quote] 这个明显用post 用get传参是有大小限制的! 你编辑器里的文本肯定是超出限制的 <form id="UpLoadForm" name="UpLoadForm" method="post" enctype="multipart/form-data" action='savenews.ashx'> ....你的内容 </form> 然后在ashx里 用 context.Request.Form["editorid"]来获取内容就行了
跳动de指尖 2014-04-16
  • 打赏
  • 举报
回复
使用javascript编码后提交。
纤纤素水 2014-04-16
  • 打赏
  • 举报
回复
你也可以先urlencode了 完了再urldecode html的传递是不安全的 会脚本注入 。net默认不允许传递html代码的。会报错。
纤纤素水 2014-04-16
  • 打赏
  • 举报
回复
你直接提交整个form表单不行啊。。。。然后数据是 data: $(‘#form1’).serialize(),
zyf_c_s_d_n 2014-04-16
  • 打赏
  • 举报
回复

用表单提交的时候没有什么问题,但是把取到的值当成URL的参数用AJAX提交给后台处理程序,确不行。用浏览器的开发人员工具,看了一下两者的报文区别,发现两个报文中的所支持的Accept-Encoding不同,用表单提交,报文中Accept-Encoding有text/html,和这个有联系吗?希望大家提供一个好的办法
zyf_c_s_d_n 2014-04-16
  • 打赏
  • 举报
回复
引用 10 楼 still_melody 的回复:
服了 为什么非要传html 你传一个&color=red 然后到ashx里自己拼接不行啊
我用的CKEditor的富文本编辑器取代Textarea,JS获取的CKEditor的值就是html格式的,我想知道有什么合适的办法,能把取到的数据传到后台
ct5732 2014-04-16
  • 打赏
  • 举报
回复
传递的URL改为:"productAppraisal.ashx?action=put&pl="+encodeURI("<p><span style="color:#ff0000;">11111111</span></p>")试一下
跳动de指尖 2014-04-16
  • 打赏
  • 举报
回复
encodeURIComponent ("<script>alert(xxxx)</script>")你试试。
zyf_c_s_d_n 2014-04-16
  • 打赏
  • 举报
回复
引用 15 楼 pengqian098 的回复:
使用javascript编码后提交。
小弟初学,不懂JQurey,只能用原始ajax,还不会用编码,可以写两行代码示例吗,好人一声平安。
still_melody 2014-04-15
  • 打赏
  • 举报
回复
服了 为什么非要传html 你传一个&color=red 然后到ashx里自己拼接不行啊
zyf_c_s_d_n 2014-04-15
  • 打赏
  • 举报
回复
引用 7 楼 sp1234 的回复:
[quote=引用 5 楼 zyf_c_s_d_n 的回复:] 用的就是POST,但是有什么办法能传递HTML格式的字符串参数?
url 路径中的参数跟 post 无关! [/quote] productAppraisal.ashx?action=put&pl=<p><span style="color:#ff0000;">11111111</span></p>; 我想通过URL传递红色区域的HTML格式的参数给ASHX,在ashx中通过 context.Request["pl"]获取,应该怎么做?试了好久没成功
zyf_c_s_d_n 2014-04-15
  • 打赏
  • 举报
回复
引用 3 楼 haiziguo 的回复:
把参数封装成字符串对象,去ashx获取
能给个代码吗,小弟新手,谢谢指点! 希望能举个例子,我项把HTML格式的字符串当作URL参数传递!
  • 打赏
  • 举报
回复
引用 5 楼 zyf_c_s_d_n 的回复:
用的就是POST,但是有什么办法能传递HTML格式的字符串参数?
url 路径中的参数跟 post 无关!
zyf_c_s_d_n 2014-04-15
  • 打赏
  • 举报
回复
引用 4 楼 ysn1314 的回复:
这种就用ajax post 提交了 get不适合
用的就是POST,但是有什么办法能传递HTML格式的字符串参数?
加载更多回复(4)

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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