gpt4 book ai didi

node.js - 风 sails JS : Get Resonse of Ajax-Form of SailsJS in the submitted function

转载 作者:太空宇宙 更新时间:2023-11-03 22:43:16 26 4
gpt4 key购买 nike

我想从由 ajax 表单组件调用的操作中获取一个对象。

重现步骤。

  1. 创建一个 Ajax 表单,在其中传递模型的值(例如帖子的标题和描述)

  2. 处理提交表单后,将数据传递给操作

  3. 在该操作中,您将把给定的数据保护到 MongoDB 并使用 .fetch() 获取创建的数据

  4. 您将获取的数据传递给 exits.success(fetchedData)

  5. 尝试获取xxxx.page.js中的sublivedForm函数中的数据

我无法获取数据。我记录了 ajax-form.components.js。在第 398 行,我们发出结果(结果应该有我们的数据,在我的例子中这是事实),但之后结果就消失了。也许我理解错了,显然我做错了事情。

如果您需要更多信息,请告诉我。

最佳答案

您在上面描述的步骤是正确的,我认为您所缺少的只是必须将给定参数放入提交的函数中。作为 vue 模板中的 prop,您传入 ($event)。在页面脚本(page-name.page.js)中,您可以在定义提交的函数时将参数命名为您想要的任何名称。

虽然您似乎不需要它,但我将在这里提供一个完整的示例,以防其他人在 Sails.js 中使用 ajax 形式函数时遇到问题。

在您的模板(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">

这里,form-data将引用存储数据的对象。键将来自您为给定输入设置的v-model'。form-rules是您指定对象的对象的位置。每个的键是来自v-model的输入名称,值可以是规则集的字符串或字符串数​​组。form-errors指定一个对象,其中出现错误如果表单在提交时触发任何错误,则会消失。如果发生这种情况,数据不会发送到服务器,提交或拒绝的函数也不会运行。cloud-error.sync`指定一个对象,如果操作返回非 200,则任何后端错误都将发生在该对象中回应。

在您的页面脚本(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);
}
}

关于node.js - 风 sails JS : Get Resonse of Ajax-Form of SailsJS in the submitted function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52718030/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com