#在URL中跳过所有参数

时间:2015-08-07 05:26:32

标签: javascript php html

如果我们在任何字段中传递#字符,使用get方法提交表单时,它会跳过该字段后的所有参数。

e.g。

  ?

bookmy_car.php荚= 6&安培; ROOM_ID = 32&安培; starthour = 14&安培; startminute = 00安培; startday指定= 07&安培; startmonth = 08&安培; startyear = 2015&安培; endhour = 16&安培; endminute = 00安培; endday指定= 07&安培; endmonth = 08&安培; endyear = 2015& end_date = 1438927200& email_conf = 1& cost_code =& desc =旅行说明& trip_comment =#& day_rate = 68.00& hourly_rate = 6.60& hourly_km_rate = 0.35& dur_hours = 2   小时&安培; location_charge = 0.00&安培; damage_cover_charge = 5.00&安培; total_free_kms =安培;长期= 0&安培; RT =&安培; minbooking = 3600&安培; returl =安培; returl_newid =安培; rep_id =安培; edit_type =安培; insPlanid = 3及PLAN_NAME = goOccasional和ID = 3及driver_username_id = 2及

我们如何保护它?我尝试了JavaScript的escape()encodeURI()功能,但没有帮助。

2 个答案:

答案 0 :(得分:1)

这是因为查询字符串#中的hashbang被解释为location.hash并被热处理为GET参数。您需要在使用URI之前正确编码URI。例如encodeURIComponent



alert( encodeURIComponent('trip_comment=#') )




答案 1 :(得分:1)

我同意@dgsq。但我更喜欢只使用encodeURI,以便他可以在下一页中获得uri。

alert( encodeURI('&trip_comment=#&day_rate=68.00') )