sql >> Base de Datos >  >> NoSQL >> MongoDB

SailsJS:Obtener Resonse of Ajax-Form of SailsJS en la función enviada

Tiene razón en los pasos que ha descrito anteriormente, y creo que todo lo que le falta es que tiene que poner el parámetro give a su función enviada. Como accesorio en la plantilla vue, pasa ($event). En la secuencia de comandos de la página (page-name.page.js) puede hacer que el parámetro se llame como desee donde defina la función enviada.

Aunque no parece que lo necesite, voy a poner un ejemplo completo aquí en caso de que alguien más tenga problemas con las funciones de formato ajax en Sails.js.

En su plantilla (html):

<ajax-form
    action="<camelcase of the file for your action>" 
    :handle-parsing="parseForm"
    :submitted="submittedForm($event)"
    @rejected="rejectedForm($event)"
    :form-data="formData"
    :form-rules="formRules"
    :form-errors.sync="formErrors"
    :cloud-error.sync="cloudError"
>
<input type="text" id="input1" v-model="input1">

Aquí, form-data se referirá a un objeto en el que se almacenan los datos. Las claves provendrán de lo que establezca el v-model' as for a given input. form-rulesis where you specify an object of objects. They key of each is the input name from v-modeland the value can be a string or array of strings for the rules set. form-errorsspecifies an object where errors will go if the form triggers any errors upon submission. If this happens, data does not get sent to the server and neither the submitted or rejected function get run. cloud-error.sync` especifica un objeto al que irán los errores de back-end si la acción devuelve una respuesta distinta de 200.

En la secuencia de comandos de su página (page-name.page.js):

data: {
    formData: {},
    formErrors: {},
    formRules: {
        input1: 'required'
    },
    cloudError: ''
},
methods: {
    parseForm: function () {
        // You can do parsing and custom validations here, but return all data 
        // you want to send to the server as an object called 'argins'
        return argins;
    },
    submittedForm (data) {
        // Here you can use any data that is returned from the action, like
        console.log('returned data: ', data);
    },
    rejectedForm (err) {
        // This function runs if the server returns a non-200 response
        console.log(err);
    }
}