我将如何在香草JS中执行此Ajax jQuery?

阿维格

我试图用Vanilla JS编写这个jQuery ajax POST请求;最初是:

$.ajax({
      method: 'POST',
      url: window.location.href + 'email',
      data: {
        toEmail: to, //var set elsewhere
        fromName: from, //var set elsewhere
        message: message, //var set elsewhere
        recaptcha: recaptcha //var set elsewhere
      }
    })
    .done(function (data) {
      handleResponse(data, form)
    })
    .fail(function (error) {
      console.error(error)
      alert('Couldn't send your email. Try again later.')
    })

handleResponse为

  function handleResponse (data, form) {
    if (!data.message) return

    if (!form) return

    const responseMessage = form.querySelector('[email-response]')
    const formData = form.querySelector('[email-data]')

    if ('success' === data.message) {
      responseMessage.classList.remove('error')
      responseMessage.classList.add('success')
      responseMessage.innerText = 'Success! Email has been sent.'
      formData.classList.add('hidden')
      return
    }

    return handleError(responseMessage, data)
  }

但是,我尝试将Ajax部分转换为:

var req = new XMLHttpRequest();
    req.onLoad = function(e){
      resolve(req.response);
    }
    req.onerror = function(e){
      console.log(e);
      alert('Couldn't send your email. Try again later.')
    };
    var data = {
        toEmail: to, //var set elsewhere
        fromName: from, //var set elsewhere
        message: message, //var set elsewhere
        recaptcha: recaptcha //var set elsewhere
      }
    }
    var url = window.location.href + 'email';
    req.open("POST",url,true);
    req.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
    req.send(data);

我收到控制台错误,提示req is not defined我做错了什么?如何在Vanilla JS中正确执行jQuery ajax请求?

萨卡

在Vanilla js中,您可以使用XHRHttpRequest

var http = new XMLHttpRequest();
var url = 'your url';
var params = 'orem=ipsum&name=binny';
http.open('POST', url, true);

//Send the proper header information along with the request
http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');

http.onreadystatechange = function() {//Call a function when the state changes.
    if(http.readyState == 4 && http.status == 200) {

        // http.responseText will be anything that the server return
        alert(http.responseText);
    }
}
http.send(params);

或者,如果您传递了一个对象,则可以使用FormData

var http = new XMLHttpRequest();
var url = 'your urk';
var myForm = new FormData()

myForm.append('foo', 'bar')

http.open('POST', url, true);

http.onreadystatechange = function() {//Call a function when the state changes.
    if(http.readyState == 4 && http.status == 200) {

        // http.responseText will be anything that the server return
        alert(http.responseText);
    }
}
http.send(myForm);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我如何在香草js中编写此JQuery addClass方法

来自分类Dev

如何在香草js / css中复制jquery动画序列

来自分类Dev

如何在ajax jquery中添加$ _POST ['submit']或执行此操作的最佳方法是什么?

来自分类Dev

如何执行此数组(jQuery Ajax)?

来自分类Dev

我将如何在文件中执行此操作?

来自分类Dev

如何在jQuery中阅读此内容?

来自分类Dev

如何在jQuery中添加此元素

来自分类Dev

AJAX在jQuery中有效,但在香草JS中无效

来自分类Dev

我将如何在 O(1)(摊销)中执行此任务?

来自分类Dev

如何在 jQuery 函数中执行 PHP

来自分类Dev

您将如何在MATLAB中执行此矩阵运算?

来自分类Dev

您将如何在DIV中执行此操作?

来自分类Dev

我不知道将如何解释这种jQuery AJAX数据:()

来自分类Dev

如何在HTML上使用AJAX JQUERY打印此值

来自分类Dev

在Rails 4中以“香草” javascript(无jQuery)发布AJAX请求

来自分类Dev

在Rails 4中以“香草” javascript(无jQuery)发布AJAX请求

来自分类Dev

我将如何在Rust中编写此C函数?

来自分类Dev

如何在jquery ajax中启用缓存

来自分类Dev

如何在 jQuery 中获取 AJAX 数据?

来自分类Dev

jQuery如何在页面加载时执行ajax

来自分类Dev

jQuery / Ajax-如何在infinite-ajax-scroll.js类中调用方法

来自分类Dev

如何在JavaScript代码或jQuery中包含此值?

来自分类Dev

如何在jQuery中编写此JavaScript迭代函数?

来自分类Dev

如何在不使用 Jquery 的 Javascript 中修改此 css?

来自分类Dev

我将如何使用jQuery添加margin-bottom

来自分类Dev

我将如何使用Jquery选择内联属性宽度值

来自分类Dev

我将如何使用 jQuery 显示某些 JSON 数据?

来自分类Dev

我将如何通过 jQuery 解析多个或多个对象?

来自分类Dev

我如何在jQuery中使用Ajax中的新复选框?

Related 相关文章

  1. 1

    我如何在香草js中编写此JQuery addClass方法

  2. 2

    如何在香草js / css中复制jquery动画序列

  3. 3

    如何在ajax jquery中添加$ _POST ['submit']或执行此操作的最佳方法是什么?

  4. 4

    如何执行此数组(jQuery Ajax)?

  5. 5

    我将如何在文件中执行此操作?

  6. 6

    如何在jQuery中阅读此内容?

  7. 7

    如何在jQuery中添加此元素

  8. 8

    AJAX在jQuery中有效,但在香草JS中无效

  9. 9

    我将如何在 O(1)(摊销)中执行此任务?

  10. 10

    如何在 jQuery 函数中执行 PHP

  11. 11

    您将如何在MATLAB中执行此矩阵运算?

  12. 12

    您将如何在DIV中执行此操作?

  13. 13

    我不知道将如何解释这种jQuery AJAX数据:()

  14. 14

    如何在HTML上使用AJAX JQUERY打印此值

  15. 15

    在Rails 4中以“香草” javascript(无jQuery)发布AJAX请求

  16. 16

    在Rails 4中以“香草” javascript(无jQuery)发布AJAX请求

  17. 17

    我将如何在Rust中编写此C函数?

  18. 18

    如何在jquery ajax中启用缓存

  19. 19

    如何在 jQuery 中获取 AJAX 数据?

  20. 20

    jQuery如何在页面加载时执行ajax

  21. 21

    jQuery / Ajax-如何在infinite-ajax-scroll.js类中调用方法

  22. 22

    如何在JavaScript代码或jQuery中包含此值?

  23. 23

    如何在jQuery中编写此JavaScript迭代函数?

  24. 24

    如何在不使用 Jquery 的 Javascript 中修改此 css?

  25. 25

    我将如何使用jQuery添加margin-bottom

  26. 26

    我将如何使用Jquery选择内联属性宽度值

  27. 27

    我将如何使用 jQuery 显示某些 JSON 数据?

  28. 28

    我将如何通过 jQuery 解析多个或多个对象?

  29. 29

    我如何在jQuery中使用Ajax中的新复选框?

热门标签

归档