ส่งพารามิเตอร์ GET ในสตริงการสืบค้น

ฉันต้องทำ 2 สิ่ง:

  • ส่งพารามิเตอร์สองสามตัวไปยังสตริงการสืบค้น
  • เปลี่ยนเส้นทางไปยัง URL ที่ระบุในพารามิเตอร์ตัวใดตัวหนึ่ง

หนึ่งในพารามิเตอร์คือ redirect=URL_here ปัญหาคือฉันต้องเปลี่ยนเส้นทางไปยังหน้านั้น: /about/me?look=1&sort=asc จากนั้น URL ของฉันจะเป็นดังนี้:

/mypage/?letter=S&redirect=/about/me?look=1&sort=asc

ฉันรู้ว่านี่เป็นสิ่งที่ผิด (มีสอง "?") คำถามคือ จะทำให้สตริงการสืบค้นนั้นถูกต้องได้อย่างไร


person tunarob    schedule 14.02.2013    source แหล่งที่มา


คำตอบ (3)


URL เข้ารหัสค่าสตริงการสืบค้น

person Philip Tenn    schedule 14.02.2013

เปลี่ยน = ลงชื่อด้วยการกดไลค์ || ของคุณเองบนลิงก์ของคุณ ในกรณีของคุณเปลี่ยนลิงก์เช่นนี้
/about/me?look||1&sort||asc

หลังจากนั้นคุณจะเปลี่ยน || ด้วย =

person vusan    schedule 14.02.2013

ใช้การเข้ารหัส URL

แบบนี้

<script>
var c= 'd e'
var query= '?a=b&c='+encodeURIComponent(c);
var uri= 'http://www.example.com/script?query='+encodeURIComponent(query);
window.location= uri;
</script>

และใช้

 decodeURIComponent()

เพื่อถอดรหัส

person Harshit Tailor    schedule 14.02.2013
comment
ไม่มีวิธีที่จะวาง JS ไว้ที่ใดก็ได้ วิธีเดียวที่ฉันสามารถทำได้คือเตรียมสตริงการสืบค้นที่เหมาะสม - มันใช้ในระบบปิด และรหัสไม่สามารถเปลี่ยนแปลงได้ - person tunarob; 14.02.2013
comment
แล้วแทนที่ ? และ & กับอักขระพิเศษอื่น ๆ เช่น mypage/?letter=S&redirect=/about/me*look=1^sort=asc - person Harshit Tailor; 14.02.2013
comment
ประโยชน์ของสิ่งนั้นคืออะไร? ถ้าฉันจะเปลี่ยน look=1& เป็น look=1^ มันจะทำงานอย่างไร? - person tunarob; 14.02.2013