得到403禁止只发生在url1而不是url2

时间:2012-02-22 06:22:18

标签: javascript jquery http-status-code-403

我做了'get'(javascript)

$.get("ME.php?uid="+uid+"&screen="+screen+"&icon="+icot+"&jhtml="+temp+"&F=seticon",function(data){/*doStuff*/});

这个网址工作正常,零错误:

http://mysite.com/ME.php?uid=1&screen=custom&icon=hubpages&jhtml=<div id='hubpages' style='position: absolute; left: 818px; top: 31px; z-index: -9; ' class='icon ui-draggable' ><img src='M/hubpages.png'><div class='box'><a href='http://hubpages.com' target='_blank'>hubpages.com</a></div></div>&F=seticon

但是这个请求我被禁止403:

http://mysite.com/ME.php?uid=1&screen=custom&icon=squidoo&jhtml=<div id='squidoo' style='position: absolute; left: 307px; top: -35px; z-index: -9; ' class='icon ui-draggable' ><img src='M/squidoo.png'><div class='box'><a href='http://squidoo.com' target='_blank'>squidoo.com</a></div></div>&F=seticon

我只是无法发现差异,只有这么多小时我才能看到这个疯狂!他们是一样的!?早上6:30,也许我已经失去了理智......

如果有帮助;我正在做同样的两个函数,在同一行/同一行,该函数对每个url执行相同的操作。

1 个答案:

答案 0 :(得分:1)

如果您收到403错误,则可能是您的问题出在服务器端。我想这个问题可能与很长的jhtml参数有关,你似乎没有任何编码就传递了这个参数。理想情况下,您不会传递这样的HTML字符串,但如果它绝对必要,您可以在发出请求之前尝试在HTML字符串上使用encodeURI(),然后使用服务器端技术的补充方法对其进行解码