当前位置: 首页 > 面试题库 >

纯Javascript中的AJAX后期实现[重复]

姬寂离
2023-03-14
问题内容

在纯Javascript中有AAAX Post的任何实现(也许使用xmlhttprequest)吗?

例如,如果我有这样的表格:

<form action="request.php" id="register_form">
  <input type="text" name="first_name" placeholder="First Name">
  <input type="text" name="last_name" placeholder="LastName">
  <input type="submit" value="submit_now">
</form>

这是我在jQuery中对AJAX的实现

$('#register_form').submit(function(e) {

var postData = $(this).serializeArray();
var formURL = $(this).attr("action");

/* start ajax submission process */
$.ajax({
    url: formURL,
    type: "POST",
    data: postData,
    success: function(data, textStatus, jqXHR) {
        alert('Success!');
    },
    error: function(jqXHR, textStatus, errorThrown) {
        alert('Error occurred!');
    }

});

e.preventDefault(); //STOP default action

/* ends ajax submission process */

});

我可以在 使用jQuery的情况下做同样的事情吗?如果有可能, 如何 将上述jQuery代码实现为纯Java代码?


问题答案:

是的,当然有可能:)

<form action="request.php" id="register_form">
  <input class='formVal' type="text" name="first_name" placeholder="First Name">
  <input class='formVal' type="text" name="last_name" placeholder="LastName">
  <input type="submit" value="submit_now" onclick="myFunction(); return false;">
</form>

JS

function myFunction()
{
    var elements = document.getElementsByClassName("formVal");
    var formData = new FormData(); 
    for(var i=0; i<elements.length; i++)
    {
        formData.append(elements[i].name, elements[i].value);
    }
    var xmlHttp = new XMLHttpRequest();
        xmlHttp.onreadystatechange = function()
        {
            if(xmlHttp.readyState == 4 && xmlHttp.status == 200)
            {
                alert(xmlHttp.responseText);
            }
        }
        xmlHttp.open("post", "server.php"); 
        xmlHttp.send(formData); 
}

server.php

<?php
   $firstName = $_POST["first_name"];
   $lastName = $_POST["last_name"];
   echo $firstName." ".$lastName;
   //enter name and lastname into your form and onclick they will be alerted 
?>

说明:
函数采用其类名称的形式元素并将其存储在数组中。然后,我们创建FormData对象,并遍历每个元素的elements数组,并将其名称和值附加到FormData对象。之后,我们创建XMLHttpRequest()对象,该对象监视请求期间的状态和状态变化,并使用
post
方法将数据发送到server.php。当结束时,readystate等于4并且status等于200,我们将发出来自server.php的响应警报,我们保存在XMLHttpRequest对象的responseText属性中。




 类似资料:
  • 问题内容: 是否有GraphViz的开源Java替代品?我知道存在Grappa,它基本上将Graph接口包装为GraphViz作为JavaAPI。但是,布局仍由GraphViz二进制文件完成。 我正在寻找一个纯Java的开源库,它提供与GraphViz相同的功能和布局算法。 问题答案: 您可以看一下具有可视化和分析功能的JUNG(Java通用网络/图形框架)。它是开源的。

  • 本文向大家介绍纯Javascript实现ping功能的方法,包括了纯Javascript实现ping功能的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了纯Javascript实现ping功能的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的javascript程序设计有所帮助。

  • 本文向大家介绍JavaScript实现Ajax总结,包括了JavaScript实现Ajax总结的使用技巧和注意事项,需要的朋友参考一下 ajax应用非常普及,ajax的优点大家都知道,具体就不多说了,其缺点还真不少,比如破坏浏览器的back功能,同一个url打开的界面并不是完全相同,还有安全性能等方面,至于有这么多的缺点,也阻止不了大家使用ajax的步伐~~~ 这里以表单为例说一下实现Ajax的步

  • 本文向大家介绍纯JS实现AJAX局部刷新功能,包括了纯JS实现AJAX局部刷新功能的使用技巧和注意事项,需要的朋友参考一下 AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。 AJAX = 异步 JavaScript和XML(标准通用标记语言的子集)。 AJAX 是一种用于创建快速动态网页的技

  • 本文向大家介绍原生JavaScript实现AJAX、JSONP,包括了原生JavaScript实现AJAX、JSONP的使用技巧和注意事项,需要的朋友参考一下 相信大多数前端开发者在需要与后端进行数据交互时,为了方便快捷,都会选择JQuery中封装的AJAX方法,但是有些时候,我们只需要JQuery的AJAX请求方法,而其他的功能用到的很少,这显然是没必要的。 其实,原生JavaScript实现A

  • 本文向大家介绍纯JavaScript实现实时反馈系统时间,包括了纯JavaScript实现实时反馈系统时间的使用技巧和注意事项,需要的朋友参考一下 用javascript反馈系统时间 运用知识 JavaScript HTML DOM HTML DOM 中的setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回