我在理解将信息从PHP传递到JS并返回的逻辑时遇到了实际问题。我一直在努力工作,如果有人能告诉我如何将两个变量传递给ajax函数,我将非常感激。
$ assetPath和$计入下面评论的行。我已经尝试通过添加php来包含它们但是在DOM中它显示为空字符串而我无法获得所需的结果。
var assetPath ='<?php echo $assetPath; ?>';
var num ='<?php echo $count; ?>';
(function($) {
$(document).ready(function(){
$('.pager-top,.pager-bottom').bootpag({
total: assetPath,
page: 1,
maxVisible: 5,
leaps: true,
firstLastUse: true,
first: '←',
last: '→',
wrapClass: 'pagination',
activeClass: 'active',
disabledClass: 'disabled',
nextClass: 'next',
prevClass: 'prev',
lastClass: 'last',
firstClass: 'first'
}).on("page", function(event, num){
$.ajax({
url: "assetPath?pageNumber="+num,
}).done(function(data) {
$("#productResults").html( data );
});
});
})( jQuery );
});
答案 0 :(得分:2)
基本上,如果Php变量确实保存了值并且数据确实存在于其中,那么通过使用这种代码var assetPath ='<?php echo $assetPath; ?>';
就可以了。在测试进入js环境之前,尝试回显到从服务器端发送的变量的页面,看看数据是否存在。对于ajax的东西,请确保使用data
属性将数据发送到服务器端端点,请参阅以下示例:
var assetPath ='<?php echo $assetPath; ?>';
var num ='<?php echo $count; ?>';
$.ajax({
type : 'POST',
url: assetPath,//<-- is it this came from variable assetPath??
data : {
pageNumber : num,
}
}).done(function(data) {
$("#productResults").html( data );
});
在服务器端,假设assetpath
保留值process.php
:
$_POST['pageNumber']; //<-- retrieve data sent from ajax
如果您在上面的代码之后echo $_POST['pageNumber'];
,那么这个值将在ajax的成功/完成块中可用:
.done(function(data) {
// data is a data sent from server side
$("#productResults").html( data );
});
答案 1 :(得分:0)
只需将您的变量放入$(document).ready(function(){
(function($) {
$(document).ready(function(){
var assetPath ='<?php echo $assetPath; ?>';
var num ='<?php echo $count; ?>';
$('.pager-top,.pager-bottom').bootpag({
total: assetPath,
page: 1,
maxVisible: 5,
leaps: true,
firstLastUse: true,
first: '←',
last: '→',
wrapClass: 'pagination',
activeClass: 'active',
disabledClass: 'disabled',
nextClass: 'next',
prevClass: 'prev',
lastClass: 'last',
firstClass: 'first'
}).on("page", function(event, num){
$.ajax({
url: "assetPath?pageNumber="+num,
}).done(function(data) {
$("#productResults").html( data );
});
});
})( jQuery );
});
希望这会奏效:)