为了账号安全,请及时绑定邮箱和手机立即绑定

yii2 形成 AJAX 到不同的动作 url

yii2 形成 AJAX 到不同的动作 url

PHP
青春有我 2021-11-26 19:36:51
我无法让它工作:它也总是重定向到“动作/创建”,而我不想重定向到那个动作。我的代码在页脚视图中是这样的:<script>    jQuery(document).ready(function($) {$("#quick-contact").on('submit',function(event) {//  $("#quick-contact").on('beforeSubmit',function(event) {        event.preventDefault(); // stopping submitting        console.log("step1");        var form = $(this);        var formData = form.serialize();      //  var data = $(this).serializeArray();        var url = $(this).attr('/quick-contact/create');        $.ajax({            url: form.attr("action"),            type: form.attr("method"),            dataType: 'json',            data: formData        })        .done(function(response) {            if (response.data.success == true) {                alert("Wow you commented");            }        })        .fail(function() {            console.log("error");        });      //  return false;    });});     </script><?php //pjax::begin(['enablePushState' => false]); ?><div id="contact-form">        <?php $form = ActiveForm::begin(['action'=>'/quick-contact/create','id'=>'quick-contact','method'=>'post']); ?><?= $form->field($model, 'name')->textInput(['maxlength' => true]) ?><?= $form->field($model, 'email')->textInput(['maxlength' => true]) ?><?= $form->field($model, 'message')->textarea(['rows' => 2]) ?><div class="form-group">    <?= Html::submitButton(Yii::t('app', 'Save'), ['class' => 'btn btn-success']) ?></div><?php ActiveForm::end(); ?></div>更新了 jquery 脚本代码:现在 ajax 请求正在通过,但我得到的响应是:name   Unknown Propertymessage Getting unknown property: yii\web\Application::requsetcode    0type    yii\base\UnknownPropertyExceptionfile    /var/www/clients/client2/web238/web/vendor/yiisoft/yii2/base/Component.php
查看完整描述

1 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

只需更换

$("#quick-contact").submit(function(event) {

$("#quick-contact").on('beforeSubmit',function(event) {

更新

您收到错误的原因是您的控制台中有几个关于 3rd 方脚本的错误,除非您删除它们,否则您将无法使其正常工作,您需要修复以下问题

//img1.sycdn.imooc.com//61a0c6fe0001ae4a19140736.jpg

缺少的另一件事是return false;您的beforeSubmit事件中的声明,您应该在 ajax 调用之后添加此行,以防止表单提交。


$("#quick-contact").on('beforeSubmit',function(event) {


    //....your code for ajax call


    return false;

});

更新 2


错误的原因是requsetwhich的拼写应该是,而request您需要更改该行


if ($model->load(Yii::$app->requset->post()) && $model->save()) {


if ($model->load(Yii::$app->request->post()) && $model->save()) {

如果您仍然遇到问题,请添加一个单独的问题,因为此问题仅针对已解决的 ajax 部分。


查看完整回答
反对 回复 2021-11-26
  • 1 回答
  • 0 关注
  • 133 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信