嗨,我不确定你们是否会让我失望,因为我是西班牙人,我会说英语,但我会尝试一下: 我希望当用户在http://www.facebook.com/profile.php?id=000000001之类的URL浏览器中发送时,浏览器不会向服务器发送请求,并且AJAX会在DIV中加载内容。 我怎样才能使它工作? 我希望你能帮助我,帮助我。 感谢
答案 0 :(得分:1)
如果您更改地址,浏览器将始终重新加载页面。处理页面更改的Ajax方法是使用hash标记,这是井号后的所有内容(#)
www.example.com#页=一个 www.example.com#页=两个 www.example.com#页= 3及更多=参数
答案 1 :(得分:1)
这是一个复杂的问题,您可以使用hashbangs(http://www.facebook.com/profile.php#!000000001),因为它们不会强制浏览器(重新)加载页面,但是如果加载了页面,您可以通过AJAX捕获它们。如果您不想使用hashbangs,HTML5历史记录界面http://www.w3.org/TR/html5/history.html将成为一种方法,但许多浏览器都不支持它,但我在chrome下制作了一些工作内容。
答案 2 :(得分:1)
您可以使用Fiddler来嗅探通过AJAX发送到服务器的数据,然后您可以编写HTTPWebRequest / Response来模拟它。
答案 3 :(得分:0)
您可以使用此函数在URL上使用GET进行Ajax调用:
$.extend({
getUrlVars: function(){
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++){
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
},
getUrlVar: function(name){
return $.getUrlVars()[name];
}
});
解析参数:
$(document).ready(function(){
// load ajax call
if( $.getUrlVar('param') != null ){
$.ajax({
data: {
something_var: $.getUrlVar('param')
},
success: function(data){
alert(data);
}
});
}
});
示例网址:http://www.website.com/?param=ok
希望这是你想要的:)