Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax can';无法使d3.xml正确发布_Ajax_D3.js - Fatal编程技术网

Ajax can';无法使d3.xml正确发布

Ajax can';无法使d3.xml正确发布,ajax,d3.js,Ajax,D3.js,我试图通过AJAX/d3.xml将一些变量发布/获取到php文件中,但是php内部的print\r($\u POST/$\u GET)告诉我它们是空的。即使是这个例子对我也不起作用 d3.xml("xxx.php") .header("Content-Type", "application/x-www-form-url-encoded") /* .get("a=2&b=3", function(error, data) { console.lo

我试图通过AJAX/d3.xml将一些变量发布/获取到php文件中,但是php内部的print\r($\u POST/$\u GET)告诉我它们是空的。即使是这个例子对我也不起作用

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上),它在一行“a=2&b=3”中列出了变量,而不是
a=2
b=3

就像往常一样<我没有得到的是什么

首先,对评论中的混乱表示歉意。我在寻找d3旧版本的源代码。在较新的代码中,如果不提供对d3.xml的回调,它将返回一个可以直接配置的xhr请求,这是事实。(如果您提供了回调,它会像以前一样立即执行GET)

你会讨厌这个的,所以做好准备。:)您的问题是因为您的内容类型标题中有一个额外的破折号。你有:

application/x-www-form-url-encoded
但应该是这样

application/x-www-form-urlencoded

查看Firefox中JSFIDLE的修改版本,我看到列表视图中的参数如预期的那样出现:

您是否将d3.xml与d3.xhr混淆了?不要这样认为。将其更改为d3.xhr不会改变任何东西。php脚本还应该返回有效的xml。当然,现在它返回一个错误,因为POST/GET是空的。但一般来说,这就是d3.xml的用途,不是吗?我对d3.xml的理解是,它执行GET请求,并将解析后的xml负载传递到回调中。为了更明确地构造AJAX请求(或者完全是POST请求),我认为您需要直接使用d3.xhr。d3.xml是用d3.xhr.OK在内部实现的,我花了几个小时试图理解它,但我完全不明白。我的console.log告诉我,即使使用d3.xml,它似乎也会根据设置的内容在POST/GET请求之间切换。正如我上面所说,使用d3.xhr,我得到了完全相同的问题。如果我将vars直接放入d3.xml调用中,即url,那么它可以工作。但是“.post”(“a=2&b=3”)…”中的参数如果不是AJAX请求的参数,那么它们有什么功能呢?是的,这里有些有趣的地方。如果你能在JSFIDLE上举个例子,我可以看看。是的,我讨厌这个!我觉得自己像个白痴。但是非常感谢你!不明白为什么这些参数没有出现在列表视图中,真让我抓狂。