首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ajax请求被调用时捕获事件?

如何在ajax请求被调用时捕获事件?
EN

Stack Overflow用户
提问于 2016-06-01 07:07:08
回答 1查看 571关注 0票数 0

我已经用Yii2开发了我的应用程序。我已经使用了kartik ajax文件上传。当我们点击Kartik的upload按钮时,它会发送ajax请求,在该请求中,它会将文件上传到服务器。

我想在特定表单的ajax请求开始之前捕获一个事件。

这是php代码:

代码语言:javascript
复制
use kartik\widgets\FileInput;
<?php $form = ActiveForm::begin(['id' => 'login-form','options' => [
    'class'=> "form-photo"
  ]]); ?>
<?php 
    echo $form->field($model, 'photo')->widget(FileInput::classname(), [
        'options' => ['accept' => 'image/*'],
        'pluginOptions' => [
            'uploadUrl' => Url::to(['/site/photo-upload']),
        ]
    ]);
?>
 <?php ActiveForm::end(); ?>

当我们在这个插件中选择文件并点击upload按钮时,它会发送ajax请求,我想检查服务器对此请求的响应是什么。

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2016-06-01 07:16:08

为按钮添加onclick处理程序。因为你正在使用一个框架,并且还没有发布你的前端代码,所以我不能告诉你如何选择你的目标按钮。

代码语言:javascript
复制
// remove default behavior
$(button).off("click");
$(button).click(function(e){
    // prevent form from submitting
    e.preventDefault();

    // do stuff

    // perform ajax
    $.ajax({
    url: /*add your target file here */,
    type: 'post',
    data: { 
            /* add your json object here */
            },
    success: function(data, status) {
        data = JSON.parse(data);

    }, error: function(xhr, desc, err) {
        console.log(xhr);
        console.log("Details: " + desc + "\nError:" + err);
    }, complete: function(){    
    }
}); // end ajax call
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37557040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档