我尝试使用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
答案 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);