jquery ajax data参数 太长

functionsave(){varstrs=$("html").html();$.ajax({type:"post",url:"Show.aspx/Save",cont... function save() {
var strs = $("html").html();
$.ajax({
type: "post",
url: "Show.aspx/Save",
contentType: "application/json;",
data: "{'str':'" + strs + "'}",
error: function(err){
alert("出错!");
},
success: function (msg) {
if (msg.d == "true") {
alert("成功!");
}
}
});
}
如果页面数据量不大,没问题后台可以接收到,数据量大了,就出错了。去了好几个论坛都没找到想要的解决方案或者是相关解释。网上也没有找到相关的有用资料。可行,请给出解决方案,不行,请给出相关解释。谢谢!!!
展开
 我来答
914066828
推荐于2016-06-29 · TA获得超过687个赞
知道小有建树答主
回答量:1353
采纳率:0%
帮助的人:662万
展开全部
data: "{'str':'" + strs + "'}",
html 可能会有符号问题
试试data:{"str":strs},
最后检测下后台的错误信息,有没有可能是因为有不安全的内容(html内容会这样,可以编码解决)
不太可能是长度问题
可以试试编码data:{"str":escape(strs)},
后台用Server.UrlDecode解码
追问
data:{"str":escape(strs)},
试了,没用后台没反应。ajax显示出错status=500
validateRequest 属性设置为 false 来禁用请求验证也设置了。
现在问题是小页面可以,大数据量根本不会走后台代码
追答
500是你的程序错误了啊
如果是4.0的网站validateRequest=false也不好用,需要在
web.config里面加

如果你的数据确实很长...
可以加数字自己看着办
愚诗珊伊儒
2020-05-26 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:34%
帮助的人:542万
展开全部
materielno的值不能直接这样获取
后台改为:string
str=requst["materielno"].tostring();
然后把str作为参数传到函数findmateriel中,即为:public
void
findmateriel(string
str){}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tz6060996
2012-03-20 · TA获得超过2282个赞
知道大有可为答主
回答量:1171
采纳率:100%
帮助的人:1606万
展开全部
服务器端如果是asp.net的话,在web.config中加入:
<jsonSerialization maxJsonLength="1024000" />
试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式