ajax – HTML5 FormData在Java Servlet中返回null request.getPa
我的观点是HTML 5.我正在使用FormData对Servlet进行AJAX 2 POST.在servlet内部,我正在尝试读取请求参数.我看不到任何参数.但是,Google Chrome开发者控制台会显示请求的有效负载.如何在Servlet代码中获得相同的内容?任何帮助将不胜感激.这是代码.
JS代码 var xhr = new XMLHttpRequest(); var formData = new FormData(); formData.append('firstName','ABC'); formData.append('lastName','XYZ'); xhr.open("POST",targetLocation,true); xhr.send(formData); Servlet代码(两个参数都返回null) out.println("Hello! "+ request.getParameter("firstName")+ " "+ request.getParameter("lastName")+ ",thanks for sending your feedback." ); 谷歌Chrome控制台 Content-Disposition: form-data; name="firstName" XYZ Content-Disposition: form-data; name="lastName" ABC
HTML5 FormData API发送multipart / form-data请求.它最初设计为能够通过ajax上传文件,使用新版本2 XMLHttpRequest.以前的版本无法上传文件.
默认情况下, @WebServlet @MultipartConfig public class YourServlet extends HttpServlet {} 或者,当您还没有使用Servlet 3.0时,请使用Apache Commons FileUpload.有关这两种方法的更详细答案,请参阅:How to upload files to server using JSP/Servlet? 如果您根本不需要上传文件,请改用“标准”XMLHttpRequest方法. var xhr = new XMLHttpRequest(); var data = "firstName=" + encodeURIComponent(firstName) + "&lastName=" + encodeURIComponent(lastName); xhr.open("POST",true); xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); xhr.send(data); 这样,您的servlet上就不再需要@MultipartConfig了. 也可以看看: > How to use Servlets and Ajax? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 从Swift中的iOS警报中的TextField获取输入值
- 使用react-router和express routes.js有什么区别
- TypeError: Error #1009: 无法访问空对象引用的属性或方法。
- .net – 在MessageBox / DialogBox上添加单选按钮
- rcgis api for flex求线段的起点,终点和中点
- MSXML应用总结
- objective-c – 如何在我的应用程序中访问iPhone密码
- ruby-on-rails – 将Ruby变量值设置为true
- cocos2d-x-2.1.4 在安卓平台编译
- ios – 无法在混合语言框架中导入CommonCrypto