[Seaside] AJAX callback:value: via POST message
Esteban A. Maringolo
emaringolo at gmail.com
Thu Jun 21 17:03:28 UTC 2018
I've tried several, way elaborated ways but didn't try the most
elemental. :)
Thanks, it works as expected.
On 21/06/2018 12:59, Gabriel Cotelli wrote:
> You can do
>
> ajax type: 'POST'
>
> and it will use POST insted of GET.
>
> On Thu, Jun 21, 2018 at 10:07 AM, Esteban A. Maringolo
> <emaringolo at gmail.com <mailto:emaringolo at gmail.com>> wrote:
>
> Hi,
>
> I'm currently doing a an AJAX call with #callback:value: where the value
> is a stringified JSON I built at client side and which on completion
> returns a script file. But the value payload is passed encoded in the
> URI, and this has a size limit.
>
> Is there a way to do a callback:value: using POST instead of GET?
>
> The call is something like this:
>
> ( html jQuery id: self tableId )
> on: 'paste'
> selector: nil
> data: ( ( html jQuery ajax )
> callback: [ :json | self pasteMatrix: ( WAJsonParser parse: json ) ]
> value: ( JSStream on: 'JSON.stringify(arguments[0])' );
> onComplete: ( html jQuery ajax
> script: [ :s | self scriptValidatedReloadOn: s ] ) ) asFunction.
> call: (JSStream on: 'pasteHandler' )
>
>
> And I'd like to have a POST based function that sends the JSON string in
> it's `data` payload instead.
>
> Regards,
>
>
> Appendix A:
>
> `pasteHandler` is a custom function that detects if the contents being
> pasted into a text input are not a single value but instead are values
> copied from an Excel file, in tab separated format, and if so overrides
> the event propagation, creates a matrix (array of arrays), and calls the
> function passed to the `data:` parameter in the event handler.
>
> Because the inputs are presented as separate <input> tags within a
> table, that's the only way I found to preserve the convenience of having
> separate inputs, but with the behavior of a single "grid" for pasting
> (and copying) data.
>
>
> function pasteHandler(event){
> var clipboardData, pastedData;
> var e = event.originalEvent;
> var matrix;
>
> clipboardData = e.clipboardData || window.clipboardData;
> if (!clipboardData) return false;
>
> pastedData = clipboardData.getData("Text");
> matrix = tabMatrix(pastedData);
> if (isMatrix(matrix)) {
> // Stop data actually being pasted
> var point = pastePoint(e.target);
> var matrixHandler = event.data;
> if (matrixHandler) {
> e.stopPropagation();
> e.preventDefault();
> matrixHandler({"matrix": matrix, "point": point});
> }
> }
> }
>
>
> --
> Esteban A. Maringolo
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> <mailto:seaside at lists.squeakfoundation.org>
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> <http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside>
>
>
>
>
> --
>
>
> ------------------------------------------------------------------------
>
> Gabriel O. Cotelli
> Desarrollo y Tecnología
> Mercap
> Tel: +54 (011) *5352.2372 al 74*
> http://www.mercapsoftware.com
>
> This message is confidential. It may also contain information that is
> privileged or otherwise legally exempt from disclosure. If you have
> received it by mistake please let us know by e-mail immediately and
> delete it from your system; also you shouldn't copy the message nor
> disclose its contents to anyone. Thanks.
> ------------------------------------------------------------------------
>
>
>
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
--
Esteban A. Maringolo
More information about the seaside
mailing list