d3.xhr 示例或 AJAX d3 的方式

d3.xhr example or AJAX d3's way

我一直在寻找使用 d3.xhr 更新数据的示例,但没有看到任何明显的东西,或者至少没有看到我的理解水平。以下 2 个链接关闭但没有雪茄:

  1. from Whosebug
  2. from mbostock’s block

我环顾四周,在 jquery 和 php 中找到了这个例子。我试过了并理解了代码。如果您在 d3.xhr 或 d3.json 中给我一个等效的代码,我将不胜感激。顺便说一句,d3.xhr 和 d3.json 有什么不同,什么时候使用什么?提前致谢。

<?php
// AJAX & PHP example
// http://iviewsource.com/codingtutorials/learning-how-to-use-jquery-ajax-with-php-video-tutorial/
    if ($_GET['ip']) {
        $ip = gethostbyname($_GET['ip']);
        echo($ip);
        exit;
   }  
?>


<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title>Get Reverse IP</title>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
        </script>
    </head>
    <body>
        Please enter a domain name
        <input type="text" id="searchip">
        <div id="resultip"></div>
        <script>
            $(document).ready(function() {
                $('#searchip').change(function(){
                    $.ajax({
                        type: "GET",
                        url: "ajax.php",
                        data: 'ip=' + $('#searchip').val(),
                        success: function(msg){
                            $('#resultip').html(msg);
                        }
                    }); // Ajax Call
                }); //event handler
            }); //document.ready
        </script>
    </body>
</html>

我找到了解决方案。事实上它的代码更少,:)我真诚地希望答案对某人有用。

<?php
// AJAX & PHP example
    if ($_GET['ip']) {
        $ip = gethostbyname($_GET['ip']);
        echo($ip);
        exit;
   }  
?>

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title>Get Reverse IP</title>
        <script src="http://d3js.org/d3.v3.min.js"></script>
    </head>
    <body>
        Please enter a domain name
        <input type="text" id="searchip">
        <div id="resultip"></div>
        <script>
            d3.select('#searchip').on("change", function() {
                d3.xhr('xhr.php?ip='+this.value, function(data) {
                    d3.select('#resultip').html(data.response);
                })
            });
        </script>
    </body>
</html>