【问题标题】:Combination JQuery and PHP结合 JQuery 和 PHP
【发布时间】:2015-05-12 13:06:22
【问题描述】:

我正在制作一个带有文本幻灯片的项目。 我在页面中有一个包含每张幻灯片文本的主 div。 我将内容保存在数据库中。 我想做这个操作: 当我单击箭头查看下一张幻灯片时,PHP 从数据库中捕获内容并将其保存在变量中。 然后使用 JQuery,我将 maindiv 的内容替换为变量。

有可能吗?如果没有,我该怎么做?

【问题讨论】:

  • 欢迎来到 Stack Overflow!这个问题的信息有点少。你能分享你尝试过的东西,以及你遇到了什么问题吗? 如果您是海象,我们将需要图片。一头编程海象价值数十亿。
  • 听起来您是在谈论发出 Ajax 请求。是否要在不刷新的情况下更新页面上的信息?只需按箭头?
  • 然后检查 AJAX 请求,这就是您要查找的内容(也检查 Walrus)

标签: javascript php jquery html database


【解决方案1】:

使用ajax请求模拟post请求,用php解析信息。你最终会得到这样的结果:

<?php
if( isset( $_POST["slide"]  ) {
  // Database stuff
  // Echo back 
  echo "Information that you need to get in jQuery";
}
?>
<script>
$("button.next_slide").click(function(){
  var ajax;
  if (window.XMLHttpRequest) {
    ajax = new XMLHttpRequest();
  } else {
    ajax = new ActiveXObject("Microsoft.XMLHTTP");
  }
  ajax.onreadystatechange = function() {
  if (ajax.readyState==4 && ajax.status==200) {
      document.getElementById("some_element").innerHTML = ajax.responseText;
    }
  }
  ajax.open("POST","this_page.php?slide=1&foo=bar&bar=foo",true);
  ajax.send();
});
</script>

<button class="next_slide">Next slide</button>
<div id="some_element"></div>

注意:这可以在没有 jQuery 的情况下完成,或者使用 jQuery 的 $.ajax 方法。在这里阅读更多:http://api.jquery.com/jquery.ajax/

【讨论】:

    【解决方案2】:

    据我了解,您希望在用户单击特定按钮时加载一些数据,然后将其加载到 div 中,我们可以通过 jQuery ajax 和 PHP 来实现。

    HTML

    <div class="main_div">
     <ul id="list"><!-- Our content will load here --></ul>
     <a href="#" class="call_ajax">Next</a>
    </div>
    

    jQuery

    jQuery(document).ready(function($){
        $('.call_ajax').on('click', function(e){
              e.preventDefault();
              $.post('ajax.php', { get_slide: true }, function(response){
                   // We are telling jQuery to parse response as json because in ajax.php we have used json_encode function. 
                    var data = jQuery.parseJSON(response);
                    $("#list").append('<li>' + data['slide'] + '</li>');   
              });  
        })
    })
    

    PHP ajax.php

    if(isset($_POST['get_slide'])){
      //Get slide from db and output it as json, but currently for example purpose we assume that we have a array.
    
       $data['slide'] = 'Your slide text';
       echo json_encode($data); die(); // We have used die because we don't won't our script to run any more.
    }
    

    我没有测试过,但它会工作。

    【讨论】:

      猜你喜欢
      • 2011-05-05
      • 2012-11-24
      • 1970-01-01
      • 1970-01-01
      • 2013-10-10
      • 1970-01-01
      • 1970-01-01
      • 2010-12-30
      • 2019-02-27
      相关资源
      最近更新 更多