Manually định dạng chuỗi truy vấn là tốt cho các tình huống đơn giản. Nhưng nó có thể trở nên tẻ nhạt khi có nhiều thông số.
Bạn có thể viết một hàm tiện ích đơn giản để xử lý việc xây dựng định dạng truy vấn cho bạn.
function formatParams(params){
return "?" + Object
.keys(params)
.map(function(key){
return key+"="+encodeURIComponent(params[key])
})
.join("&")
}
Và bạn sẽ sử dụng theo cách này để tạo yêu cầu.
var endpoint = "https://api.example.com/endpoint"
var params = {
a: 1,
b: 2,
c: 3
}
var url = endpoint + formatParams(params)
//=> "https://api.example.com/endpoint?a=1&b=2&c=3"
Có nhiều chức năng tiện ích có sẵn để thao tác URL. Nếu bạn có JQuery trong dự án của mình, bạn có thể dùng thử http://api.jquery.com/jquery.param/.
Nó tương tự như hàm ví dụ ở trên, nhưng xử lý đệ quy tuần tự hóa các đối tượng lồng nhau và mảng.
Nguồn
2015-07-30 00:04:59
Bạn có thể thực hiện theo cách đó, nhưng bạn sẽ cần tách các cặp khóa/giá trị bằng ký hiệu thay vì dấu chấm hỏi. Vì vậy: '" blahblah.php? Variable1 = "+ var1 +" & variable2 = "+ var2' – nnnnnn
Cũng chú ý rằng' var1' và 'var2' không tự chứa ký tự dành riêng. Bạn có thể muốn thoát chúng bằng 'encodeURIComponent()'. – nullability