将URL传递给Javascript函数

时间:2013-01-10 17:59:37

标签: javascript jquery

我花了一些时间经历了许多类似的问题,但根据给出的答案,我会相信我已经正确地设置了这个 - 但它不起作用,我不确定为什么。

我是Javascript / jQuery的新手,所以很可能(或者很可能!)我错过了一些完全明显的东西。

我有一个带有大'main'div的页面,我正在使用jQuery .load通过导航将内容加载到该页面中。一切正常。但是,一些目标页面数据量很大,所以我试图在两者之间集成一些东西来向用户表明页面正在加载。因为有很多导航元素,而不是具有多个功能(即每个导航元素一个),我试图在一个函数中完成它,就像这样......

<script type="text/javascript">
function loadPage(pgurl) {
    $('#main').html('<p align="center">Loading...</p>');
    $('#main').load(' +pgurl+ ');
}
</script>

我遇到的问题是导航中的onclick。在此之前,我在onclick中有.load(即 onclick =“$('#main')。load('/ pages / testpage /');”)并且运行正常。现在我通过onclick触发loadPage函数,它正在加载一个黑页(firebug告诉我的是站点根目录)。

这是我的onclick代码;

<a onclick="loadPage('/pages/testpage/');return false;">Test</a>

我没有收到任何错误。我只能假设loadPage函数获得零值,而不是/ pages / testpage / - 但我不明白为什么!

指针非常受欢迎 - 这里有很多头疼!

5 个答案:

答案 0 :(得分:3)

这已经是一个字符串:

$('#main').load(pgurl);

答案 1 :(得分:2)

$('#main').load(' +pgurl+ ');

需要

$('#main').load(pgurl);

您应该将其写为一行以防止第二次查找。

function loadPage (pgurl) {
    $('#main').html('<p align="center">Loading...</p>').load(pgurl);
}

答案 2 :(得分:2)

因为看起来你没有使用pgurl参数,所以加载括号中的这个东西是string变量名的文本:)

$('#main').load(' +pgurl+ ');

改为使用

$('#main').load(pgurl);

如果您不熟悉字符串连接http://www.youtube.com/watch?v=n17aX2TdQRk

,也许应该看一下

答案 3 :(得分:2)

这是一个错字吗?尝试更改:

$('#main').load(' +pgurl+ ');

$('#main').load(pgurl);

答案 4 :(得分:1)

您必须更改以下行//您传递字符串而不是变量//

$('#main').load(' +pgurl+ ');

$('#main').load(pgurl);