首页新闻找找看学习计划

http路径后面带参数,参数过长报500错误

0
[待解决问题]

http路径后面带参数,参数过长报500错误,比如:我运行一个项目,在页面上路径显示www.baidu.com(这只是打个比方),然后再一个文本框内输入一个长度超过2000左右的字符串,点击确认按钮,这时需要把文本框里的内容带到别的地方去,所以页面上显示路径应该是www.baidu.com?text=aaaaa....aaaa(此处为长度超过2000左右的字符串),这时候页面就会报500错误,什么原因?

不好意思,没分了,帮个忙!

Andylls的主页 Andylls | 初学一级 | 园豆:5
提问于:2012-11-16 13:39
< >
分享
所有回答(2)
0

要带到别的地方可以用别的方法,比如你把文本框的内容存在数据库,带过去id,然后别的页面再去读取

路径最长不要超过1000字符

飞来飞去 | 园豆:2057 (老鸟四级) | 2012-11-16 13:41

时什么原因你知道吗?

支持(0) 反对(0) Andylls | 园豆:5 (初学一级) | 2012-11-16 13:44

@Andylls: 我查了下url协议没有明确规定长度限制,如果服务器不能处理这么长的url请求,应该会返回414错误,你这个是500错误,所以可能跟你服务器设置有关系。我可以问一下为什么要把文本框内容带到url请求上吗?

支持(0) 反对(0) 飞来飞去 | 园豆:2057 (老鸟四级) | 2012-11-16 13:51

@飞来飞去: 应该是404错误吧,我估计是这个错误,因为项目对错误页面做过处理,不是中文的,所以我当时也不知道具体是404还是500。

这个功能是这样的,是一个查询功能,那个检索条件的文本框字符长度不能超过255,超过255就不查询,还是现实所有数据,但是客户的要求是点了查询之后,然后选中一条数据编辑,在编辑页面有个返回按钮,点击返回,要把之前检索的条件保留,但是又不能用historyback这种返回方式,所以是form标签提交的方式。所以我才把输入的查询条件放到路径里面带到编辑页面,返回的时候再把条件返回回来,就是这样了。

额,太长了,能看懂么?

支持(0) 反对(0) Andylls | 园豆:5 (初学一级) | 2012-11-16 14:00

@Andylls: 编辑页面点击返回,带查询条件也才255字符啊,难道你还要带着编辑的内容返回?点击返回操作是什么?

支持(0) 反对(0) 飞来飞去 | 园豆:2057 (老鸟四级) | 2012-11-16 14:04

@飞来飞去: 我只把查询条件返回回来,就是那文本框里面的内容,返回操作时用form表单返回的;主要是点击编辑,把条件传到编辑页面就已经出错了,所以也不知道返回回去是什么情况。

支持(0) 反对(0) Andylls | 园豆:5 (初学一级) | 2012-11-16 14:09

@Andylls: 晕倒,你在这步报错,怎么确定是url过长引起的。。。

支持(0) 反对(0) 飞来飞去 | 园豆:2057 (老鸟四级) | 2012-11-16 14:12

@飞来飞去: 我试过,在条件内容不超过2000左右的时候可以过去,也没有报错,但是一旦超过2000左右就报错

支持(0) 反对(0) Andylls | 园豆:5 (初学一级) | 2012-11-16 14:17

@Andylls: 检索条件的文本框不是不能超过255吗?

支持(0) 反对(0) 飞来飞去 | 园豆:2057 (老鸟四级) | 2012-11-16 14:52

@飞来飞去: 是不能超过255,但是那也只是在上面给个错误消息,而已,里面的内容还是不会变的,当提示错误的时候它就不会执行按条件查询,而是显示所有数据,这个时候,当别人点击编辑,再返回的时候一样要把它错误的条件保存在文本框里。所以说那客户很纠结。

支持(0) 反对(0) Andylls | 园豆:5 (初学一级) | 2012-11-16 15:02

@Andylls: 那可以这样,客户每次查询,都把查询条件作为纯文本记录在数据库a表(id+文本+token...),进入编辑页面的时候带上id、token、错误id,这样返回的时候再把参数返回,在根据id、token取出文本放出查询框,根据错误id显示错误内容。

再或者你把编辑页面作为页面的弹出框,而不是整个页面跳转。可以用jquery ui dialog来实现。

支持(0) 反对(0) 飞来飞去 | 园豆:2057 (老鸟四级) | 2012-11-16 15:27
0

最多是4kb的get方式

这么长的参数还是通过别的方式传递吧

chenping2008 | 园豆:9836 (大侠五级) | 2012-11-16 13:54

但是进入到编辑页面的时候不是用form标签提交,我只想到用那种方式传递了,还有什么传递方式么?

支持(0) 反对(0) Andylls | 园豆:5 (初学一级) | 2012-11-16 14:06

@Andylls: 这么大的数据量传递,还不如先存到一个地方,然后取出来了

比如cache什么地方的

支持(0) 反对(0) chenping2008 | 园豆:9836 (大侠五级) | 2012-11-16 14:31

@Andylls: 用 AJAX 的 POST 方式提交。为什么不用form标签提交。

支持(0) 反对(0) geass.. | 园豆:1777 (小虾三级) | 2012-12-02 12:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册