[gameprogrammer] Re: POST in JSON format?

  • From: Kevin Jenkins <gameprogrammer@xxxxxxxxxx>
  • To: gameprogrammer <gameprogrammer@xxxxxxxxxxxxx>
  • Date: Thu, 24 Jan 2013 10:49:20 -0800

I figured out how to set the headers (below).

In my code below, you can see I'm submitting the form to the url
dev/account  which has an associated servlet. In that servlet, I want to
return some HTML as a test
resp.getWriter().println( "TEST RESPONSE" );

How would I, after pressing submit on the form, view that response? Is
there a way to change the URL to dev/account? Or to update index.html to
just show it?

My ultimate purpose of this is so that an external website can submit
through a web form some stuff to my java server, and display the results
back. But for now I'm just putting all the forms on one index.html so I can
rapidly test without having to use restclient

Thanks in advance.

Code here:

<form id="jsonform">
First name: <input type="text" value="fndef" name="firstname"><br>
Last name: <input type="text" value="lndef" name="lastname"><br>
<input id="action" type="button" name="button" value="Submit">
</form>
<script type="text/javascript">
jQuery(function() {
jQuery("#action").click(function() {
var oJsonData = {};
var result = { };
$.each($('form').serializeArray(), function() {
    result[this.name] = this.value;
});
oJsonData.json = JSON.stringify (result);
 jQuery.ajax({
  type: "POST",
  url: "dev/account",
  data: oJsonData.json,
  contentType: "application/json; charset=UTF-8"
});
});
});



On Thu, Jan 24, 2013 at 8:06 AM, Kevin Jenkins <gameprogrammer@xxxxxxxxxx>wrote:

> Thanks for these helpful responses.
>
> Michael, does index.php have to be php, or can I use index.html so I can
> test on my local system? From the code I think you are submitting the form
> to itself, then running PHP to add the two header fields? There's no way to
> do this with javascript?
>
>
> On Wed, Jan 23, 2013 at 11:52 PM, Michael Croghan <mcroghan@xxxxxxxxxxxxxx
> > wrote:
>
>> simple example with jQuery
>>
>>
>> On Wed, Jan 23, 2013 at 11:38 PM, Paulo Pinto <pjmlp@xxxxxxxxxxxxx>wrote:
>>
>>> You cannot do JSON POST directly from forms.
>>>
>>> The only way is via Ajax requests.
>>>
>>> So you need to bind the click event for the "Ok" button to a JavaScript
>>> function that calls the
>>> server side with an Ajax call.
>>>
>>>
>>>
>>> On Thu, Jan 24, 2013 at 7:41 AM, Kevin Jenkins <
>>> gameprogrammer@xxxxxxxxxx> wrote:
>>>
>>>> Sorry for not being clear. I'm OK on the server side because I'm
>>>> writing it in Java and am using json-lib to read the body of the post. But
>>>> for testing I want to write a webpage that can do a POST from an HTML form
>>>>
>>>> <form>
>>>> First name: <input type="text" name="firstname"><br>
>>>> Last name: <input type="text" name="lastname"><br>
>>>> <input type="submit" value="Submit">
>>>> </form>
>>>>
>>>> With that code the body is not in JSON format. I was wondering if there
>>>> was a simple way to make any form put the body in JSON format. Or lacking
>>>> that, at least how to hand-craft it so that it is. I found some javascript
>>>> code online but it didn't work, that is what I was alluding to.
>>>>
>>>>
>>>>
>>>> On Wed, Jan 23, 2013 at 9:51 PM, Michael Croghan <
>>>> mcroghan@xxxxxxxxxxxxxx> wrote:
>>>>
>>>>> Didn't think about server side. :)
>>>>>
>>>>> One way half-a-dozen ways depending on what specifically you're trying
>>>>> to do.
>>>>>
>>>>>
>>>>> On Wed, Jan 23, 2013 at 9:39 PM, Alan Wolfe <alan.wolfe@xxxxxxxxx>wrote:
>>>>>
>>>>>> btw... a sly trick i use sometimes when i have http questions of this
>>>>>> sort is i'll go ask on the libcurl mailing list (shh)
>>>>>>
>>>>>> People tend not to consider it off topic, and they will actually think
>>>>>> that you are trying to achieve something with libcurl (mostly i am,
>>>>>> but not always) - and there's a lot of super knowledgeable people
>>>>>> there with regards to this sort of thing.
>>>>>>
>>>>>> On Wed, Jan 23, 2013 at 9:36 PM, Alan Wolfe <alan.wolfe@xxxxxxxxx>
>>>>>> wrote:
>>>>>> > i think it partly depends on the server understanding your
>>>>>> intentions
>>>>>> > (ie apache vs IIS vs WCF even, are different if i recall correctly),
>>>>>> > but the official content-type is "application/json" according to the
>>>>>> > RFCs
>>>>>> >
>>>>>> > http://tools.ietf.org/html/rfc4627
>>>>>> >
>>>>>> > doesn't do a lick of good if that doesn't work for you though (:
>>>>>> >
>>>>>> > On Wed, Jan 23, 2013 at 9:19 PM, Kevin Jenkins
>>>>>> > <gameprogrammer@xxxxxxxxxx> wrote:
>>>>>> >> Does anyone know how to do an HTML form POST using JSON format? I
>>>>>> searched
>>>>>> >> online but couldn't find any clear explanations or source-code
>>>>>> that actually
>>>>>> >> worked.
>>>>>>
>>>>>> ---------------------
>>>>>> To unsubscribe go to http://gameprogrammer.com/mailinglist.html
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Other related posts: