在窗口addEventListener popstate中调用函数,不起作用

时间:2012-07-25 07:07:34

标签: html5 addeventlistener pushstate popstate

我遇到的问题是在GetAjaxPageBack函数中,每当我尝试在其中编写任何函数时,如split,或任何其他函数它什么都不做,如果我注释掉了这一行 var url = url.split(“?”);开始工作正常,但为什么我需要拆分网址,并希望获取查询字符串,并希望使用ajax重新发送它来获取记录。

<script language="javascript">

function GetAjaxPageBack(url) {

//this line is not working  
var url = url.split("/"); 

alert(url);


/*  $.post(url,

function(data){     
    if (data != "") 
    {               

    }
}); 
*/}


function GetAjaxPage(value)
{   
if(value=='n')
{
    val     = $('#abc').val()+1;
    $('#abc').val(val);
}else
{
    val     = $('#abc').val()-1;
    $('#abc').val(val);
}
history.pushState(null, null, "?abc="+$('#abc').val());  

window.addEventListener("popstate", function(e) {           
    GetAjaxPageBack(location);          
});


}

</script>

</head>



<body><br />
<a href="javascript:;" onclick="GetAjaxPage('p')">Prev</a>&nbsp;|&nbsp;
<a href="javascript:;" onclick="GetAjaxPage('n')">Next</a>

<br /><br />

<input type="text" name="abc" id="abc" value="1" > 

请帮忙,谢谢

1 个答案:

答案 0 :(得分:1)

该位置不是字符串,而是Location对象。尝试使用它的原生函数或首先将其转换为字符串。

location.toString().split('/')