Tôi thích cách phương pháp jQuery $ .ajax() cho phép để xác định yêu cầu url:jQuery thêm params để url
{
url: 'http://domain.com/?param=1',
data{
param2: '2'
}
}
$ .ajax() phương pháp sẽ (có thể) gọi $ .param() trên được cung cấp và thêm tùy chọn vào URL được cung cấp.
Câu hỏi của tôi là: đây là loại thao tác url có sẵn bên ngoài lệnh $ .ajax()?
Ví dụ: tôi muốn mở cửa sổ bật lên và tôi muốn xây dựng URL theo cùng cách tôi làm với $ .ajax().
Tôi đã viết một chức năng mà thực hiện điều này, nhưng tôi có cảm giác tôi đang reinventing the wheel và sao chức năng đã tồn tại của jQuery:
var prepareUrl = function(url, data)
{
var params = $.param(data);
if (params.length > 0)
{
// url contains a query string
if (url.indexOf('?') > -1)
{
// get last char of url
var lastChar = url.substr(url.length - 1);
// Append & to the end of url if required
if (lastChar != '&' && lastChar != '?')
{
url += '&';
}
}
else // url doesn't contain a query string
{
url += '?';
}
url += params;
}
return url;
}
cảm ơn!
'Tham chiếu không bắt buộcLỗi: serialize không được xác định' - và có vẻ như bạn vẫn đang phát minh lại bánh xe, chỉ khác nhau. – Quentin
Phương thức 'getQueryStr' của bạn khác với jQuery '$ .param()' như thế nào? Câu hỏi của tôi là về việc thêm đối số vào url hiện tại đã chứa chuỗi truy vấn. Phương thức '$ .ajax()' xử lý rất độc đáo. – Karolis