使用.load()将多个变量传递给URL

时间:2014-06-16 17:01:13

标签: php jquery

我尝试使用jQuery中的以下语句向PHP发送多个变量:

jQuery的:

$(document).ready(function () {
    $('.modalsend').click(function () {
        $('span.user-topicid').load('get_number_comments.php?topicid=' + $(this).data('topicid') + '&page=' + '<?=$_GET['page']?>');
    });
});

如果我在PHP文件中传递单个变量,它就可以正常工作:

jQuery的:

$('span.user-topicid').load('get_number_comments.php?topicid=' + $(this).data('topicid'))

但是,当我尝试传递&amp; page =时,它无法将任何内容传递给PHP文件,该文件具有以下变量来获取URL:

PHP(get_number_comments.php):

$numberid = mysql_real_escape_string($_GET['topicid']);
$page = mysql_real_escape_string($_GET['page']);

我认为这可能是jQuery中带有附加&amp; page =标记的问题,但不确定是什么原因导致它。请注意,页面位于具有第一个jQuery函数的页面的URL中。

注意:问题已经解决,最好首先获取URL($ page = mysql_real_escape_string($ _ GET [&#39; page&#39;]);)并在数据属性中发送$ page变量喜欢topicid - 有关解决方案的更多详细信息,请参阅Variable value not passing into mySQL statement in Bootstrap Modal

2 个答案:

答案 0 :(得分:0)

我相信Amin已经回答了你的问题,但我只想根据.load() documentation添加它,你可以将你的数据作为第二个参数传递,它应该处理编码。所以你可以这样做:

var pageVal= <?=$_GET['page']?>;
var data = { "topicid": $(this).data('topicid'), "page": pageVal };
$('span.user-topicid').load('get_number_comments.php', data);

答案 1 :(得分:-1)

您的问题出在本部分'<?=$_GET['page']?>'

您无法在该位置传递php代码,您需要发送变量:

$('span.user-topicid').load('get_number_comments.php?topicid=' + $(this).data('topicid') + '&page=' + page);

或将代码存储在变量中,然后发送:

 var pageVal='<?=$_GET["'+page+'"]?>';
 $('span.user-topicid').load('get_number_comments.php?topicid=' + $(this).data('topicid') + '&page=' + pageVal);