如何在yii2中发送ajax表单
我需要在我的yii2应用程序中从html表单发送数据。我需要使用ajax从这个表单发送数据,并从服务器获取响应以输出它。在YII1.0中,我使用了非常有用的助手ajaxSubmitButton,在yii2中,我找不到如何使用ajax从表单发送数据。你能告诉我怎么做吗?有关于它的文章吗如何在yii2中发送ajax表单,yii2,Yii2,我需要在我的yii2应用程序中从html表单发送数据。我需要使用ajax从这个表单发送数据,并从服务器获取响应以输出它。在YII1.0中,我使用了非常有用的助手ajaxSubmitButton,在yii2中,我找不到如何使用ajax从表单发送数据。你能告诉我怎么做吗?有关于它的文章吗 谢谢。Yii ActiveForm在其生命周期的许多阶段都支持JavaScript事件。您可以在提交前使用事件来实现您想要的目标。在JavaScript中: $(文档)。准备好了吗( $('#myform')。on
谢谢。Yii ActiveForm在其生命周期的许多阶段都支持JavaScript事件。您可以在提交前使用
事件来实现您想要的目标。在JavaScript中:
$(文档)。准备好了吗(
$('#myform')。on('beforesmit',函数(事件,jqXHR,设置){
变量形式=$(此);
if(form.find('.has error').length){
返回false;
}
$.ajax({
url:form.attr('action'),
键入:“post”,
数据:form.serialize(),
成功:功能(数据){
//做点什么。。。
}
});
返回false;
}),
);
请注意,您可以通过从事件回调返回false
来停止表单的正常提交。当服务器验证规则的提交失败时,重新加载表单
$form.on('beforeSubmit', function (event, jqXHR, settings) {
if ($form.find('.has-error').length) {
return false;
}
$.ajax({
url: $form.attr('action'),
type: 'post',
data: $form.serialize(),
success: function (datos, status, xhr) {
var ct = xhr.getResponseHeader("content-type") || "";
//fail server validation
if (ct.indexOf('html') > -1) {
if ($(datos).find(".has-error").length)
{
modal.modal('show');
modal.find(".modal-body").html(datos);
}
}
//real success
if (ct === "" || ct.indexOf('json') > -1) {
modal.modal('hide');
}
},
error: function (datos) {
alert(datos.responseText);
},
complete: function (datos) {
console.log(datos);
}
});
return false;
})
涉及什么样的数据和输出?如果它们用于验证目的,您可以使用内置的ajax验证。@arogachev,不,我不需要任何ajax验证。我只需要将json数据发送到我的服务器并从中获取html响应。