在textarea更改/更新时发送Ajax请求

时间:2017-04-17 15:24:50

标签: javascript php jquery ajax

我希望每当我的文本区域发生变化时创建一个Ajax请求,我的后端使用PHP而且我不确定编写Ajax请求和PHP方面的最佳方法是什么,以防止任何滥用,因为有人可能只是开始垃圾邮件textarea,这可能会对我的网站创建一个DoS,因为所有的Ajax请求最终都会访问数据库。

当我使用Ace代码编辑器时,我有JS代码来检测何时发生更改,因此我的代码如下所示:

codeEditor.getSession().on('change', function(e)
{

});

目前这是我的Ajax脚本:

// Variable to hold request
    var request;

    // Prevent default posting of form - put here to work in case of errors
    event.preventDefault();

    // Abort any pending request
    if (request) {
        request.abort();
    }
    // setup some local variables
    var form = $(this);

    // Serialize the data in the form
    var serializedData = form.serialize();

    // Fire off the request to /form.php
    request = $.ajax({
        url: form.attr("action"),
        type: "post",
        data: serializedData
    });

    // Callback handler that will be called on success
    request.done(function (response, textStatus, jqXHR)
    {
      // This is where I would say "Saved"...
    });

    // Callback handler that will be called on failure
    request.fail(function (jqXHR, textStatus, errorThrown)
    {
      // Log the error to the console
      console.error("The following error occurred: "+ textStatus, errorThrown);
    });

$这基本上是在Ajax脚本之前获得的表单的ID ...

我还能做什么/我可以做什么/改善前端和后端的请求,以防止滥用垃圾邮件发送文本区域,如果还有什么我应该添加到这个安全性?注意:我已经在其他地方整理了CSRF保护,所以这不是问题。

0 个答案:

没有答案