1

I have a problem with posting data to a REST API, it should be done like this:

curl -X POST -H "Accept: application/json" -H "Content-Type: application/json" \
 -d '{"event":{"title":"event", "description": "nice", "start": "2018-03-11T22:00:00.000Z"}}' \
 http://events.restdesc.org/events

I have the following code:

function eventedit(request){
    console.log(request);
    var title = $("#title").val();
    var desc = $("#desc").val();
    var start = $("#start").val();
    start += ".000Z";
    $.ajax({
        url: request,
        type: "POST",
        dataType:'json',
        success: function (response) {
            console.log(response);
        },
        error: function(error){
            console.log("Something went wrong", error);
        }
    });
}

Like you see, I need to add data in my ajax request, but I don't know how to do it, do I need to make a string containing those values? Or an array?

3
  • create an object. Commented Apr 25, 2017 at 14:25
  • in your ajax data: {"title":"event", "description": "nice", "start": "2018-03-11T22:00:00.000Z"} Commented Apr 25, 2017 at 14:26
  • 1
    which in your case would be data: {"title":title, "description": desc, "start": start} assuming your title, description, and start variables are correct. Commented Apr 25, 2017 at 14:27

2 Answers 2

3

In your $.ajax call add data.

 $.ajax({
    url: request,
    type: "POST",
    data: {"event":{"title": title, "description": desc, "start": start}},
    dataType:'json',
    success: function (response) {
        console.log(response);
    },
    error: function(error){
        console.log("Something went wrong", error);
    }
});

for POST you can also use a shorthand $.post

  $.post(request, {"event":{"title": title, "description": desc, "start": start}}, function(data){
    console.log(data);
});
Sign up to request clarification or add additional context in comments.

2 Comments

what about the "event" like in this example -> '{"event":{"title":"event", "description": "nice", "start": "2018-03-11T22:00:00.000Z"}}'
@fangio do you need event?
0

Just use it like this if you're making a POST

$.post(request, {title: title, description: desc, start: start}, function (data) {
    console.log(data);
});

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.