如何使用AJAX检索PHP数据?

时间:2012-07-11 18:30:26

标签: php javascript jquery ajax

您好,我是AJAX的新手,并且已经避开了很长一段时间。我目前正在使用jQuery插件,我需要使用AJAX来传达要使用的数据(来自PHP)。

这是我正在使用的jQuery代码:

$("#fancybox-manual-c").click(function () {
    $.fancybox.open([{
        href: '1_b.jpg',
        title: 'My title'
    }, {
        href: '2_b.jpg',
        title: '2nd title'
    }, {
        href: '3_b.jpg'
    }], {
        helpers: {
            thumbs: {
                width: 75,
                height: 50
            }
        }
    });
});

如何使用AJAX检索PHP数据以输入href和title。任何信息或教程将不胜感激!

谢谢!

2 个答案:

答案 0 :(得分:1)

ajax()的文档演示了几个示例,这是另一个基本示例:

的javascript

$.ajax({
  type: "POST",
  url: "some.php",
  dataType:'json',
  data: { name: "John", location: "Boston" }
}).done(function( msg ) {
  if (msg.err == true) {
     alert('Error: '+msg.msg);
     return;
  }
  alert("A winner is: '+msg.name);
});

PHP

    <?php

        $response = array(
            'err'=>false,
            'msg'=>''
        );
        $name = isset($_POST['name']) ? $_POST['name'] : false;
        $location= isset($_POST['location']) ? $_POST['location'] : false;

        if (!$name) {
            $response['err'] = true;
            $response['msg'] = 'Invalid name';
            die(json_encode($response));
        }

        $response['name'] = $name;
        if ($location)
            $response['name'] .= ' from '.$location;
        die(json_encode($response));
 ?>

正如您所注意到的,大多数开发人员都鼓励彼此先检查文档,而Google查询“ajax教程”确实非常富有成效! :)

<强>文档

答案 1 :(得分:1)

我和昨天的情况完全相同。网上有很多很好的Ajax教程,但似乎都没有提供最基本的例子。这是我要学习的内容。

确保jquery.js与此html文件位于同一文件夹中。我把我的名字命名为test.php。

此文件对文件script.php进行非常简单的POST ajax调用,它还发送一个名为testCheck的变量,其值为true。返回数据后,回调函数运行,用AJAX给出的响应填充名为#test的DIV。

<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<style>
#test {
 width: 200px;
 height: 200px;
 background: gray;
}
</style>
</head>

<script type="text/javascript">
$(document).ready(function() {
$("#test").click(function() {
    $.post("script.php", {testCheck: true}, function(data) {
      $('#test').html(data);
    });     
});   
});
</script>

<body>
  <div id="test">TEST DIV</div>
</body>
</html>

这是具有php逻辑的script.php文件。如果将两个文件和jquery.js文件放在同一目录中并在Apache服务器上运行它应该可以正常工作。

<?php


$testCheck = $_POST['testCheck'];

if($testCheck)
{
    echo "It is true!";
}
else
{
    echo "It is false!";
}

?>