4

I was doing a research on how to make POST requests using the amazingly powerful D3 (which I can fully fully recommend for data visualization) and found the xhr2 branch where the authors of D3 are currently working on xhr POST request (and other request types) support.

Seems like it is a brand new feature as the merge request is from yesterday (18 September 2012) :) And as curious I am I already wanted to try it out, using the following code sequence (which I have from this location)

 d3.text("localhost/test",function(d) { console.log(d)})
         .method("POST")
         .setRequestHeader("Content-type", "application/x-www-form-urlencoded")
         .data("a=1&b=2&c=3");

Unfortunately I'm getting the following error message.

TypeError: 'undefined' is not a function (evaluating 'd3.text("localhost/test",function(d) { console.log(d)}) .method("POST")')

I'm using the minified D3 version from the xhr2 branch. Anybody an idea what to change?

Thomas Kremmel
  • 13,615
  • 21
  • 104
  • 169

1 Answers1

11

The API is still under development. If you want to try it out, the current API is like so:

d3.text("/test")
    .header("Content-type", "application/x-www-form-urlencoded")
    .post("a=1&b=2&c=3", function(error, text) { console.log(text); });

You can also use d3.xhr rather than d3.text directly if you want the full request object rather than just the responseText.

Edit: Updated to latest API.

mbostock
  • 49,852
  • 11
  • 172
  • 129
  • Works like a charm. Thank you very much! I will keep an eye on the dev progress / docs to get informed about possible API changes. – Thomas Kremmel Sep 19 '12 at 17:11