我有一个页面(产品)响应URL参数并相应地显示信息。
以下是一些例子:
http://www.mysupersite.com/products
http://www.mysupersite.com/products/buy
http://www.mysupersite.com/products/buy/computers
这些是用户友好的网址。 URL参数是“购买”和“计算机”。
我需要将ajax()中当前页面的参数传递给我的服务器,以便它知道要发回的信息类型,例如。
$.ajax({
type: "POST",
url: "/cfc/getsomeproducts",
dataType: "html",
data: {
//psuedo code below...
ProductCategory: "buy",
ProductType: "computers"
}
})
澄清一下,如果我在/products/buy
,我需要发送ProductCategory: 'buy'
。如果在/products/buy/computers
,ProductCategory: 'buy', ProductType: 'computers'
。
我怎么能达到这样的目标?
答案 0 :(得分:2)
var url = document.location.pathname;
var values = url.split("/");
$.ajax({
type: "POST",
url: "/cfc/getsomeproducts",
dataType: "html",
data: {
ProductCategory: values[2],
ProductType: values[3]
}
})
答案 1 :(得分:1)
如果你有一个坚实的URL参数约定,你可以在你的ajax调用之前解析URL然后发送一个数组作为数据。在后端,只需按照约定定义的顺序解析数组。类似的东西:
var myUrl = 'http://my.url/param1/param2',
delimiter = '/',
start = 3,
params = str.split(delimiter).slice(start),
$.ajax({
type: "POST",
url: "/cfc/getsomeproducts",
dataType: "html",
data: {
params[]: params
}
})