相关疑难解决方法(0)

application/x-www-form-urlencoded或multipart/form-data?

在HTTP中有两种POST数据的方式:application/x-www-form-urlencodedmultipart/form-data.据我所知,大多数浏览器只能在使用时上传文件multipart/form-data.在API上下文中使用其中一种编码类型时是否有任何其他指导(不涉及浏览器)?这可能基于:

  • 数据大小
  • 存在非ASCII字符
  • 存在于(未编码的)二进制数据上
  • 需要传输额外的数据(如文件名)

到目前为止,我基本上没有在网上找到有关使用不同内容类型的正式指导.

post http http-headers

1268
推荐指数
4
解决办法
116万
查看次数

获取:POST json数据

我正在尝试使用fetch POST一个JSON对象.

根据我的理解,我需要将一个字符串化的对象附加到请求的主体,例如:

fetch("/echo/json/",
{
    headers: {
      'Accept': 'application/json',
      'Content-Type': 'application/json'
    },
    method: "POST",
    body: JSON.stringify({a: 1, b: 2})
})
.then(function(res){ console.log(res) })
.catch(function(res){ console.log(res) })
Run Code Online (Sandbox Code Playgroud)

当使用jsfiddle的json echo时,我希望看到我发送的对象({a: 1, b: 2}),但这不会发生 - chrome devtools甚至不会将JSON显示为请求的一部分,这意味着它没有被发送.

javascript json fetch-api

468
推荐指数
10
解决办法
55万
查看次数

如何将FormData(HTML5对象)转换为JSON

如何将HTML5 FormData对象转换为JSON?没有Jquery并像处理对象一样处理FormData中的嵌套属性.

javascript form-data

64
推荐指数
10
解决办法
8万
查看次数

表格上真的需要采取行动吗?

这里说它是必需的

http://www.w3schools.com/tags/att_form_action.asp

但我发现即使我没有指定一个动作属性,表单也会被提交,并且表单会被提交到当前页面,这正是我想要的.

html forms html5 html-validation

35
推荐指数
3
解决办法
6万
查看次数

没有页面刷新的表单提交

也许有人可以帮我解决我遇到的这个小问题.我试图在没有页面刷新的情况下提交此表单.但它会跳过帖子并直接转到ajax调用.我想我想念了preventDefault().我在网上搜索但无法找到我需要的东西.非常感谢您的帮助或指向另一个表单提交.

HTML下面:

<!DOCTYPE html>
 <html>
<head>
<title>AJAX | Project</title>
 <link href="project.css" rel="stylesheet"/>
 <script src="jquery.js"></script>

  </head>
 <body>


<div id="mainCon">

  <h1>Contact Book</h1>
<div id="form_input">
<form id="myform" method="post"    action="addrecord.php">

    <label for="fullname">Name:</label>
    <input type="text" name="fullname" id="fullname"/><span id="NameError">   </span>
    <br/>
    <label for="phonenumber">Phone Number:</label>
    <input type="text" id="phonenumber" name="phonenumber"><span   id="PhoneError"></span>

    <br />

<input id="buttton" type="submit" onClick="addnumber()" value="Add Phone   Number"/>
    <input type="button" id="show" value="the Results"/>
 </form>


</div>

    <div id="form_output">


    </div>


</div>
 <script src="project.js"></script>
 <script type="text/javascript">

 function addnumber(){

 var Fullname = document.getElementById("fullname").value;
var Phonenumber = document.getElementById("phonenumber").value;



 if(Fullname == ""){ …
Run Code Online (Sandbox Code Playgroud)

javascript php forms ajax jquery

33
推荐指数
2
解决办法
13万
查看次数

提交表单而不重新加载页面

我有一个用JavaScript构建的函数,我希望在表单提交被执行后执行.它基本上完全改变了页面的外观.但我需要搜索框中的变量才能继续使用JavaScript.此刻它会闪烁并重置那里的内容,因为它会重新加载页面.

所以我在我的函数中设置了一个返回false,这使得它不会这样做,但我想要的变量不会通过表单提交.关于我应该怎么做才能得到它的任何想法?只要该updateTable()功能有效,页面就可以刷新,并且页面重置不会重置.

<form action="" method="get" onsubmit="return updateTable();">
  <input name="search" type="text">
  <input type="submit" value="Search" >
</form>
Run Code Online (Sandbox Code Playgroud)

这是updateTable功能:

function updateTable() { 
  var photoViewer = document.getElementById('photoViewer');
  var photo = document.getElementById('photo1').href;
  var numOfPics = 5;
  var columns = 3; 
  var rows = Math.ceil(numOfPics/columns);
  var content="";
  var count=0;

  content = "<table class='photoViewer' id='photoViewer'>";
  for (r = 0; r < rows; r++) {
    content +="<tr>";
    for (c = 0; c < columns; c++) {
      count++;
      if(count == numOfPics) break; // check if …
Run Code Online (Sandbox Code Playgroud)

javascript form-submit

25
推荐指数
2
解决办法
15万
查看次数

如何在表单提交后阻止页面重新加载--JQuery

我正在为我的应用程序开发类开发一个网站,我有一个最奇怪的问题.

我使用一些JQuery将表单数据发送到名为'process.php的php页面,然后将其上传到我的数据库.奇怪的错误是页面在提交表单时重新加载,我不能或我的生活中弄清楚如何让JQuery继续在后台运行.这首先是使用JQuery的重点哈哈.无论如何,我会提交所有相关代码,如果您还有其他需要,请告诉我.

<script type="text/JavaScript">

$(document).ready(function () {
  $('#button').click(function () {

    var name = $("#name").val();
    var email = $("#email").val();

    $.post("process.php", {
      name: name,
      email: email
    }).complete(function() {
        console.log("Success");
      });
  });
});
</script>
<div class= "main col-xs-9 well">
  <h2 style="color: black" class="featurette-heading">Join our mailing list!</h2>
  <form id="main" method = "post" class="form-inline">
    <label for="inlineFormInput">Name</label>
    <input type="text" id="name" class="form-control mb-2 mr-sm-2 mb-sm-0" id="inlineFormInput" placeholder="Jane Doe">
    <label for="inlineFormInputGroup">Email</label>
    <div class="input-group mb-2 mr-sm-2 mb-sm-0">
      <input type="text" id="email" class="form-control" id="inlineFormInputGroup" placeholder="janedoe@email.com">
    </div>
    <!--Plan to write success message …
Run Code Online (Sandbox Code Playgroud)

html javascript php forms jquery

10
推荐指数
1
解决办法
6万
查看次数

如何在没有重新加载页面的情况下提交表单,没有 jQuery?

我有如下表格,它需要向我的 java Servlet 发送一个操作来更新数据库。

如何在没有页面重新加载的情况下提交表单?目前action="myServlet"它让我直接进入一个新页面。如果我删除对 myServlet 的操作,则输入不会添加到我的数据库中。

<form name="detailsForm" method="post" action="myServlet" 
      onsubmit="return submitFormAjax()">
    name: <input type="text" name="name" id="name"/> <br/>
    <input type="submit" name="add" value="Add" />
</form>
Run Code Online (Sandbox Code Playgroud)

在我的 Java servlet 视图中,request.getParameter将查找名称并继续将其添加到我的数据库中。

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) 
  throws ServletException, IOException
{   
    if (request.getParameter("add") != null) {
        try {
            Table.insert(name);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的 JavaScript 部分,我有一个submitFormAjax函数

function submitFormAjax()
{
    var xmlhttp;
    if (window.XMLHttpRequest) {
        // code for modern browsers
        xmlhttp …
Run Code Online (Sandbox Code Playgroud)

javascript ajax

7
推荐指数
2
解决办法
1万
查看次数

setTimeout仅在1000ms下工作

我希望有一个超时功能,所以当提交表单时,提交后两秒显示警报.我使用的代码不起作用:

$(document).ready(function() {
  $("#newsletter").submit(function() {
     setTimeout(function() {
      alert("submitted");             
    }, 2000);
   });
});
Run Code Online (Sandbox Code Playgroud)

但是当我将2000ms更改为900时似乎工作正常:

$(document).ready(function() {
  $("#newsletter").submit(function() {
    setTimeout(function() {
     alert("submitted");              
   }, 900);
  });
});
Run Code Online (Sandbox Code Playgroud)

如何让2000ms工作?

javascript jquery settimeout

4
推荐指数
1
解决办法
287
查看次数

在没有页面刷新的表单中上载文件

我有这段代码:

<form name="myUploadForm" method="post" action="/scripts/upload.do" enctype="multipart/form-data" id="fileUpload">
   <table width="100%" border="0"> 
      <tr>
         <td>
            <input type="file" name="xlsFile" size="60" value="test.xls"> 
            <input type="button" value="Upload File" name="upload_xls">
         </td>
      </tr>
   </table>
</form>
Run Code Online (Sandbox Code Playgroud)

现在我可以使用Struts上传文件,但它会刷新页面.如果没有页面刷新,我该怎么做?

html javascript forms ajax

2
推荐指数
3
解决办法
1万
查看次数

使用Ajax和jQuery发送邮件(邮件到php Post方法)

我通过执行Php函数从我的html页面发送邮件,我的index.html:

  <form method="POST" action="sendmail.php" >
 <input type="text" name="sender_name" placeholder="Name" required="">
 <input type="text" name="sender_email" placeholder="Email" required="">
 <input type="text" name="subject" placeholder="Subject" required="">
 <textarea placeholder="Message" name="message" required=""></textarea>
  <input type="submit" name="send" value="SEND">

    </form>
Run Code Online (Sandbox Code Playgroud)

我的sendmail.php:

<?php
if($_POST['send'] == 'SEND'){

$to      = 'queries@mydomain.com';
$subject = $_POST['subject']; 
$message = $_POST['message']; 
$headers = "From: ".$_POST['sender_nam??e?']." <".$_POST['sender_em??ail??'].">\r\n"; $headers = "Reply-To: ".$_POST['sender_ema??il??']."\r\n"; 
$headers = "Content-type: text/html; charset=iso-8859-1\r\n";
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
}
?>
Run Code Online (Sandbox Code Playgroud)

以上工作正常,但它也离开当前页面我想在当前页面执行上述方法,并根据这个问题和这个问题

我必须使用AjaxjQuery?到目前为止我对他们一无所知我有这个:

////in my index.html
<button …
Run Code Online (Sandbox Code Playgroud)

html php ajax jquery

0
推荐指数
1
解决办法
8553
查看次数