Tôi có một hàm javascript chuyển thành chuỗi giá trị truy vấn một chuỗi truy vấn khác.Làm thế nào để mã hóa một chuỗi truy vấn để nó là giá trị của một chuỗi truy vấn khác trong javascript?
Nói cách khác, tôi muốn chuỗi truy vấn là:
http://www.somesite.com/?somequery=%3fkey%3dvalue1%2520%26%2520key2%3value3
Tuy nhiên, nếu tôi chuyển hướng như thế này:
var url = 'http://www.somesite.com/?somequery=';
url += escape('?key=value1&key2=value2');
window.location = url;
nó kết thúc như http://www.somesite.com?somequery=?key1=value1&key2=value2
trong firefox và IE7 có nghĩa là Tôi không thể phân tích cú pháp chuỗi truy vấn một cách chính xác.
Tôi cũng đã thử sử dụng encodeURIComponent không hoạt động.
Có chức năng hoặc hack khác để buộc chuyển hướng giữ giá trị somequery
được thoát không ??
Có, tôi chắc chắn thoát không được dùng nữa. Cuộc gọi tốt. –
Bạn có thể phải giải quyết việc '%' trong [truy vấn] – KooiInc
Công việc này - mặc dù khi phân tích chuỗi truy vấn, tôi phải giải mã hai lần ngay bây giờ. Có vẻ như khi nó được mã hóa một lần, nó sẽ được giải mã bởi trình duyệt nhưng khi nó được mã hóa hai lần thì nó sẽ không được giải mã chút nào. lạ. – rmw