将$u POST或PHP变量中的值存储到Javascript变量中
search.php将$u POST或PHP变量中的值存储到Javascript变量中,javascript,php,mysql,Javascript,Php,Mysql,search.php //这就是我尝试过的。 我尝试添加了$search=$\u POST['search']并将其放入search.js中,如下var searchTerm=”“ search.js var ajax_arry=[]; var ajax_index =0; var sctp = 100; $(function(){ $('#loading').show(); var searchTerm = "<?php echo $search; ?>";
//这就是我尝试过的。
我尝试添加了$search=$\u POST['search']
并将其放入search.js
中,如下var searchTerm=”“代码>
search.js
var ajax_arry=[];
var ajax_index =0;
var sctp = 100;
$(function(){
$('#loading').show();
var searchTerm = "<?php echo $search; ?>"; // This is what I've tried.
$.ajax({
url:"scroll.php",
type:"POST",
data:"actionfunction=showData&page=1&search="+searchTerm, // This is what I've tried.
cache: false,
success: function(response){
$('#loading').hide();
$('#demoajax').html(response);
}
});
$(window).scroll(function(){
var height = $('#demoajax').height();
var scroll_top = $(this).scrollTop();
if(ajax_arry.length>0){
$('#loading').hide();
for(var i=0;i<ajax_arry.length;i++){
ajax_arry[i].abort();
}
}
var page = $('#demoajax').find('.nextpage').val();
var isload = $('#demoajax').find('.isload').val();
if ((($(window).scrollTop()+document.body.clientHeight)==$(window).height()) && isload=='true'){
$('#loading').show();
var ajaxreq = $.ajax({
url:"scroll.php",
type:"POST",
data:"actionfunction=showData&page="+page,
cache: false,
success: function(response){
$('#demoajax').find('.nextpage').remove();
$('#demoajax').find('.isload').remove();
$('#loading').hide();
$('#demoajax').append(response);
}
});
ajax_arry[ajax_index++]= ajaxreq;
}
return false;
if($(window).scrollTop() == $(window).height()) {
alert("bottom!");
}
});
});
解释
您不能在javascript中“存储”PHP变量。PHP是服务器端的,javascript在客户端工作。他们必须沟通
解决方案
var ajax_arry=[];
var ajax_index =0;
var sctp = 100;
$(function(){
$('#loading').show();
var searchTerm = "<?php echo $search; ?>"; // This is what I've tried.
$.ajax({
url:"scroll.php",
type:"POST",
data:"actionfunction=showData&page=1&search="+searchTerm, // This is what I've tried.
cache: false,
success: function(response){
$('#loading').hide();
$('#demoajax').html(response);
}
});
$(window).scroll(function(){
var height = $('#demoajax').height();
var scroll_top = $(this).scrollTop();
if(ajax_arry.length>0){
$('#loading').hide();
for(var i=0;i<ajax_arry.length;i++){
ajax_arry[i].abort();
}
}
var page = $('#demoajax').find('.nextpage').val();
var isload = $('#demoajax').find('.isload').val();
if ((($(window).scrollTop()+document.body.clientHeight)==$(window).height()) && isload=='true'){
$('#loading').show();
var ajaxreq = $.ajax({
url:"scroll.php",
type:"POST",
data:"actionfunction=showData&page="+page,
cache: false,
success: function(response){
$('#demoajax').find('.nextpage').remove();
$('#demoajax').find('.isload').remove();
$('#loading').hide();
$('#demoajax').append(response);
}
});
ajax_arry[ajax_index++]= ajaxreq;
}
return false;
if($(window).scrollTop() == $(window).height()) {
alert("bottom!");
}
});
});
使用php创建一个隐藏的输入,您可以使用javascript对其进行精简
使用ajax
在javascript中调用php文件,使php文件返回所需的值
在将提供给用户的PHP文件中使用嵌入式javascript。不过,我不建议这样做
您应该在php文件中包含Js代码。因为您不能在js文件中编写php代码。而js代码可以用php编写
所以你的代码应该是这样的
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
<input type="text" name="search" id="search" autocomplete="off">
<button type="submit" class="btn btn-primary">Search</button>
</form>
<?php if ($_POST) {
$search = $_POST['search'];
?>
<script>
var ajax_arry = [];
var ajax_index = 0;
var sctp = 100;
$(function () {
$('#loading').show();
var searchTerm = "<?php echo $search; ?>"; // This is what I've tried.
$.ajax({
url: "scroll.php",
type: "POST",
data: "actionfunction=showData&page=1&search=" + searchTerm, // This is what I've tried.
cache: false,
success: function (response) {
$('#loading').hide();
$('#demoajax').html(response);
}
});
$(window).scroll(function () {
var height = $('#demoajax').height();
var scroll_top = $(this).scrollTop();
if (ajax_arry.length > 0) {
$('#loading').hide();
for (var i = 0; i < ajax_arry.length; i++) {
ajax_arry[i].abort();
}
}
var page = $('#demoajax').find('.nextpage').val();
var isload = $('#demoajax').find('.isload').val();
if ((($(window).scrollTop() + document.body.clientHeight) == $(window).height()) && isload == 'true') {
$('#loading').show();
var ajaxreq = $.ajax({
url: "scroll.php",
type: "POST",
data: "actionfunction=showData&page=" + page,
cache: false,
success: function (response) {
$('#demoajax').find('.nextpage').remove();
$('#demoajax').find('.isload').remove();
$('#loading').hide();
$('#demoajax').append(response);
}
});
ajax_arry[ajax_index++] = ajaxreq;
}
return false;
if ($(window).scrollTop() == $(window).height()) {
alert("bottom!");
}
});
});
</script>
<?php } ?>
var ajax_arry=[];
var ajax_指数=0;
var-sctp=100;
$(函数(){
$(“#加载”).show();
var searchTerm=“”;//这是我尝试过的。
$.ajax({
url:“scroll.php”,
类型:“POST”,
数据:“actionfunction=showData&page=1&search=“+searchTerm,//这是我尝试过的。
cache:false,
成功:功能(响应){
$(“#加载”).hide();
$('#demoajax').html(回复);
}
});
$(窗口)。滚动(函数(){
变量高度=$('#demoajax').height();
var scroll_top=$(this.scrollTop();
如果(ajax_arry.length>0){
$(“#加载”).hide();
for(var i=0;i
你不能在.js
中编写php代码
文件尝试替换`to
,并在你的php文件中包含js。这只是发布时的一个错误。我已经编辑过了。试着在php文件中编写js代码,你的代码就会正常工作。你自己在做调试/测试吗?看起来和这张很像,都是在很短的时间内发布的。我不知道怎么做,你能给我举个例子吗?@ButterToast这三张照片中哪一张被接受了。再次感谢你。