我试图在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'))
但是,当我尝试传递&page=时,它无法向PHP文件传递任何内容,该文件具有以下变量以获取URL:
PHP (get_number_comments.php):$numberid = mysql_real_escape_string($_GET['topicid']);
$page = mysql_real_escape_string($_GET['page']);
我认为这可能是jQuery中附加&page=标记的问题,但不确定是什么原因导致的。注意,page是在第一个jQuery函数的页面的URL中。
注意:问题已经解决,最好先得到URL ($page = mysql_real_escape_string($_GET['page']);),并发送$page变量在一个数据属性,就像topicid -请参考变量值不传递到mySQL语句在Bootstrap模式的解决方案的进一步细节
我相信Amin已经回答了你的问题,但我只是想添加,根据.load()文档,你可以传递你的数据作为第二个参数,它应该处理编码。所以你可以这样做:
var pageVal= <?=$_GET['page']?>;
var data = { "topicid": $(this).data('topicid'), "page": pageVal };
$('span.user-topicid').load('get_number_comments.php', data);
您的问题在这部分'<?=$_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);