无法正确地将d3.xml发送到POST

时间:2014-03-25 15:51:32

标签: ajax d3.js

我试图通过AJAX / d3.xml将一些Vars发布到一个php文件,但是php内部的print_r($ _ POST / $ _ GET)告诉我它们是空的。即使doc上的示例也不适用于我。

d3.xml("xxx.php")
    .header("Content-Type", "application/x-www-form-url-encoded")
    /*
        .get("a=2&b=3", function(error, data) {
      console.log(error);
    })
        */
        .post("a=2&b=3", function(error, data) {
      console.log(error);
    })
    .on("load", createTable(data));

控制台告诉我有一个POST请求但是在POST下(在Firefox上,而不是在Chrome上)它会在一行中列出Vars“a = 2& b = 3”,而不是       
a = 2
      b = 3
通常如此。
我没有得到什么?

1 个答案:

答案 0 :(得分:1)

首先,对评论中的混淆道歉。我正在查看旧版d3的来源。在较新的代码中,如果您不向d3.xml提供回调,它确实会返回一个您可以直接配置的xhr请求。 (如果你提供回调,它会像以前一样立即执行GET。)

你会讨厌这个,所以准备好了。 :)您的问题是因为您的Content-Type标头中有一个额外的短划线。你有:

application/x-www-form-url-encoded

但它应该是

application/x-www-form-urlencoded

在Firefox中查看jsfiddle的修改版本,我看到参数在列表视图中按预期显示:http://jsfiddle.net/WaT6r/3/