Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从FormData api检索3.0之前版本的servlet的请求参数,其中不支持request.part_Javascript_Ajax_Jsp_Xmlhttprequest_Form Data - Fatal编程技术网

Javascript 从FormData api检索3.0之前版本的servlet的请求参数,其中不支持request.part

Javascript 从FormData api检索3.0之前版本的servlet的请求参数,其中不支持request.part,javascript,ajax,jsp,xmlhttprequest,form-data,Javascript,Ajax,Jsp,Xmlhttprequest,Form Data,基本上,我试图将表单参数作为post数据发送到另一个jsp并打印参数,但在完成此操作时遇到问题。下面是构造FormData实例并将其作为XMLHttpRequest的post数据发送到目标jsp的html代码。 <!DOCTYPE html> <html> <head> <script> function loadXMLDoc() { var form = new FormData();

基本上,我试图将表单参数作为post数据发送到另一个jsp并打印参数,但在完成此操作时遇到问题。下面是构造FormData实例并将其作为XMLHttpRequest的post数据发送到目标jsp的html代码。

    <!DOCTYPE html>
    <html>
    <head>
    <script>
    function loadXMLDoc()
    {
    var form = new FormData();
    form.append('firstname', 'peter');
    form.append('lastname', 'parker');
    var xmlhttp;
    if (window.XMLHttpRequest)
      {
      xmlhttp=new XMLHttpRequest();
      }
    else
      {
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
        }
      }
    xmlhttp.open("POST","sample.jsp",true);
    xmlhttp.send(form);
    }
    </script>
    </head>
    <body>

    <div id="myDiv"><h2>Text which will be changed on click</h2></div>
    <button type="button" onclick="loadXMLDoc()">Change Content</button>

    </body>
    </html>

函数loadXMLDoc()
{
var form=new FormData();
格式。附加('firstname','peter');
格式。追加('lastname','parker');
var-xmlhttp;
if(window.XMLHttpRequest)
{
xmlhttp=新的XMLHttpRequest();
}
其他的
{
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
document.getElementById(“myDiv”).innerHTML=xmlhttp.responseText;
}
}
open(“POST”,“sample.jsp”,true);
xmlhttp.send(表单);
}
单击将更改的文本
更改内容
目标JSPServlet代码如下所示,我尝试检索附加到FormData实例的参数

    <!DOCTYPE html>
    <html>
    <head>
    <script>
    function loadXMLDoc()
    {
    var form = new FormData();
    form.append('firstname', 'peter');
    form.append('lastname', 'parker');
    var xmlhttp;
    if (window.XMLHttpRequest)
      {
      xmlhttp=new XMLHttpRequest();
      }
    else
      {
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
        }
      }
    xmlhttp.open("POST","sample.jsp",true);
    xmlhttp.send(form);
    }
    </script>
    </head>
    <body>

    <div id="myDiv"><h2>Text which will be changed on click</h2></div>
    <button type="button" onclick="loadXMLDoc()">Change Content</button>

    </body>
    </html>
<%
    out.println(request.getParameter("firstname"));
    out.println(request.getParameter("lastname"));
%>


但是,当我尝试运行jsp时,我会将参数打印为null。我不熟悉ajax和客户端脚本世界。有人能解释一下我是如何成功地从FormData实例检索参数的吗?

y你不是在使用jquery ajax吗?@Santino'Sonny'Corleone:我不知道jquery,因为我刚开始使用客户端。这就是为什么我会帮助你的原因谢谢但不幸的是它不起作用。。点击按钮时什么也没发生你放脚本了吗?好的,试试这个。在chrome中打开,按ctrl+shift+i,这是d开发人员控制台…如果有错误,这是n c。是的,我添加了脚本。好的,试试这个。在chrome中打开,按ctrl+shift+i,这是d开发人员控制台…如果有错误,这是n c。@aarish现在试试。有一个额外的括号
    <!DOCTYPE html>
    <html>
    <head>
    <script>
    function loadXMLDoc()
    {
    var form = new FormData();
    form.append('firstname', 'peter');
    form.append('lastname', 'parker');
    var xmlhttp;
    if (window.XMLHttpRequest)
      {
      xmlhttp=new XMLHttpRequest();
      }
    else
      {
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
        }
      }
    xmlhttp.open("POST","sample.jsp",true);
    xmlhttp.send(form);
    }
    </script>
    </head>
    <body>

    <div id="myDiv"><h2>Text which will be changed on click</h2></div>
    <button type="button" onclick="loadXMLDoc()">Change Content</button>

    </body>
    </html>
$( document ).ready(function() {
$( "#button_click" ).click(function(){
var form= new FormData();
    form.append('firstname', 'peter');
    form.append('lastname', 'parker');
$.ajax({
    url: 'sample.jsp',
    data: form,
    cache: false,
    contentType: "application/x-www-form-urlencoded",
    processData: false,
    type: 'POST',
    success: function(data){
        alert(data);
    }
});
});
});

<div id="myDiv"><h2>Text which will be changed on click</h2></div>
 <button id="button_click" type="button">Change Content</button>
$("#formoid").submit(function(event) {

  event.preventDefault();

    var $form = $( this ),
      url = $form.attr( 'action' );

  var posting = $.post( url, { firstname: $('#firstname').val(), lastname: $('#lastname').val() } );


  posting.done(function( data ) {
    alert('success');
  });
});