将PHP变量传递给Ajax函数将变量JS转换为PHP
问题描述:
我在理解将信息从PHP传递给JS和返回的逻辑方面存在实际问题。我一直在这个工作,并会非常感激,如果有人能告诉我如何将两个变量传递给ajax函数。将PHP变量传递给Ajax函数将变量JS转换为PHP
$ 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);
});
答
基本上,如果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);
});
答
简单地把你的瓦尔到您$(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);
});
希望这将工作:)
+1
如果当然,这只会在这个JavaScript代码是在.php页面本身,而不是在一个单独的.js文件中。 – HaukurHaf
所以'$ assetPath'里面真的有一个值吗? –
assetPath中有一个url路径。严重的是这让我感到很蠢。我还没有睡,因为我真的想明白这一点。请给我解释一下。数据来回传递和Ajax的基本概念。我经历了大量的教程,一旦我认为有了它,我无法获得任何工作。 – wuno