Visualizzazione dei risultati da 1 a 7 su 7

Discussione: JSON e invio dati.

  1. #1
    Utente di HTML.it L'avatar di bako
    Registrato dal
    Feb 2004
    Messaggi
    1,797

    JSON e invio dati.

    Salve
    sto utilizzando prototypejs per fare delle chiamate a un servizio rest. ora, ho un problema con l'invio dati.

    ho questa funzione ajax:
    codice:
      function put(){
                    var string = {name: 'field1', value: 'ciaooo'};
                    var pars = "field="+string;
                    alert(pars);
                    var url='http://localhost:8080/Rest/resources/UIRest/stefano';
                    new Ajax.Request(url, {
                        method: 'put',
                        parameters: pars,
                        onSuccess: function(transport) {
                            alert("send");
    
                        }
    
                    });
                };
    che dovrebbe inviare un JSON al servizio, il fatto è che mi da un 405: request not allowed.

    il fatto è che questa chiamata con curl va a buon fine:
    codice:
    curl -X PUT -d "field={name: 'field1', value: 'ciaooo'}" http://localhost:8080/Rest/resources/UIRest/stefano

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    ma cosa ti produce l'alert? sei sicuro del formato della variabile? magari fai una prova cambiando:

    var string = {name: 'field1', value: 'ciaooo'};
    var pars = "field="+string;

    con

    var pars = "field={name: 'field1', value: 'ciaooo'}";

  3. #3
    Utente di HTML.it L'avatar di bako
    Registrato dal
    Feb 2004
    Messaggi
    1,797
    Originariamente inviato da eiyen
    ma cosa ti produce l'alert? sei sicuro del formato della variabile? magari fai una prova cambiando:

    var string = {name: 'field1', value: 'ciaooo'};
    var pars = "field="+string;

    con

    var pars = "field={name: 'field1', value: 'ciaooo'}";
    nemmeno così va.

    usando firebug, se invio un json dovrei vedere il json o vedere semplicemente Object scritto?

    perchè al momento segna Object.

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    mmh... però tu stai passando come parameters una stringa, mentre devi passare un oggetto o coppie chiave=valore... che parametri ti occorrono nello script chiamato? se sono quelli definiti con string passa direttamente questa variabile, se invece ti serve "field" cambierei notazione.

  5. #5
    Utente di HTML.it L'avatar di bako
    Registrato dal
    Feb 2004
    Messaggi
    1,797
    in sostanza dovrei passare tutti i tipi di dato possibili, mi spiego meglio:
    devo passare:
    - un nome del campo
    - un oggetto (che può essere intero, stringa array etc).

    ora, ho pensato di mettere queste due cose nel JSON e inviare tutto con:
    - field: nome del campo
    - value: il valore.

    via curl la cosa funziona.

    pensi ci possano essere altre possibili soluzioni?

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    proverei:

    var pars = {nomecampo: 'field', valorecampo: {name: 'field1', value: 'ciaooo'}};

  7. #7
    Utente di HTML.it L'avatar di bako
    Registrato dal
    Feb 2004
    Messaggi
    1,797
    ho scoperto che il PUT non funziona.

    questo è il codice del servizio:
    codice:
        @PUT
        @Consumes("*/*")
        @Path("{name}")
        public void put(@PathParam("name") String name)  {
            System.out.println("PUT");
    
        }
    
        @POST
        @Consumes("*/*")
        @Path("{name}")
        public void post(@PathParam("name") String name) {
            System.out.println("POST");
        }
    la chiamata è sempre quella.

    il fatto è che il server restituisce POST e non PUT.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.