javascript - 有谁知道如何将这个 jQuery 翻译成普通的 js?

标签 javascript jquery html ajax cordova

所以我在我的 cordova 应用程序上有一个电子邮件发送功能,它使用 jQuery 来完成。调试我的应用程序时,ajax 函数在我的浏览器中测试时工作正常,但是当我构建应用程序并在我的手机上测试它时,它不起作用。我有另一个这样的问题,只有在我使用普通 js 而不是 jQuery 后才得到解决。这是函数:

var message = localStorage.getItem("Message");
var key = "dJdJekCVAFIqvUJ13DEczZjgIh_4MyeIGEHz2GBYKFe"; // <<KEY
var message_name = "defender_send_message";    // <<MESSAGE NAME
var url = "https://maker.ifttt.com/trigger/" + message_name + "/with/key/" + key;
$.ajax({  // <<SEND
  url: url,
  data: {value1: message,
         value2: localStorage.getItem("AdminsEmail")},
  dataType: "jsonp",
  complete: function(jqXHR, textStatus) {
    console.log("Message Sent");
  } 
});  

有谁知道如何将它翻译成普通的js?谢谢

最佳答案

您需要使用 XMLHttpRequest 对象来使用 vanilla JS 进行 ajax 调用。

var message = localStorage.getItem("Message");
var key = "dJdJekCVAFIqvUJ13DEczZjgIh_4MyeIGEHz2GBYKFe";
var message_name = "defender_send_message";
var url = "https://maker.ifttt.com/trigger/" + message_name + "/with/key/" + key;
var data = {};

data.value1 = message;
data.value2 = localStorage.getItem("AdminsEmail");

var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
  if (xmlhttp.readyState == XMLHttpRequest.DONE) {
    if (xmlhttp.status == 200) {
      console.log("Message Sent");
    }
  }
}

xmlhttp.open('POST', url, true);
xmlhttp.responseType = 'jsonp';
xmlhttp.send(data);

关于javascript - 有谁知道如何将这个 jQuery 翻译成普通的 js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43287292/

相关文章:

javascript - 欺骗或禁用页面可见性 API

php - jPlayer Stream MP3 但防止下载和盗链

javascript - 当您调用 .changePage() 时,JQuery Mobile 会向 div 添加什么

javascript - jQuery DatePicker - 焦点问题

html - 显示未指定边距的图像

javascript - 为什么这个函数在这个 _.each 循环中不可见?

javascript - JWPlayer 在 Qt5 QWebView 中不可见

javascript - AJAX 验证,ajax 不执行但它发送 get 到 index.php

javascript - 单击时保持元素的悬停样式处于事件状态

javascript - 我的正则表达式适用于一行输入,但不适用于两行或更多...