html5中 FormData api ajax使用的问题

Balalalalalalalala 2014-05-10 08:33:31
各位朋友看下面的代码:

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="utf-8">
<title>html5 ajax测试</title>
<script type="text/javascript">
function _send()
{
var fm = document.getElementById('tform');
var fd = new FormData(fm); //把表单的文档对象给传过去
var xhr = new XMLHttpRequest();
xhr.open('POST', './test_post.php', true);
xhr.onreadystatechange = function ()
{
if (this.readyState == 4)
{
document.getElementById('debug').innerHTML = this.responseText;
}
//document.getElementById('debug').innerHTML = this.readyState;
}
xhr.send(fd);
}
</script>
</head>
<body>
<form id="tform">
<p>用户名:<input type="text" name="username" /></p>
<p>年龄:<input type="text" name="age" /></p>
<p>邮箱:<input type="text" name="email" /></p>
<p>性别:<input type="text" name="gender" /></p>
<p><input type="submit" value="ajax发送" onclick="_send();"></p>
</form>
<div id="debug">
</div>
</body>
</html>

我的test_post.php中的代码是:

<?php
print_r($_POST);
?>

在我的表单中正常输入数据后,点击提交,为什么我的:
<div id="debug">
</div>
中没有显示test_post.php中的数据,求解啊!
...全文
234 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2014-05-11
  • 打赏
  • 举报
回复
<input type="submit" value="ajax发送" onclick="_send();"> 应为 <input type="submit" value="ajax发送" onclick="return _send();"> _send 应返回 false 或 <input type="button" value="ajax发送" onclick="_send();">
suconghou 2014-05-10
  • 打赏
  • 举报
回复
第十行的错了, new的new FormData 是没有参数的,然后利用生成的对象append 数据
使用规范:  var file = $("#file_input")[0].files[0]; if(file.size / 1024 > 1024 * 5){ mui.toast('图片不能超过5M'); return; } //图片压缩 compress.rotatePhotoCompress(file,function(imageObj){ var formData = new FormData(); formData.append("uploadFile", imageObj, file.name); // 文件对象 //图片上传 uploadAdd(formData); }); /** * 图片上传 * @param formData */ function uploadAdd(formData){ var URL = apiUrl.addMultImageURL+"?plateTag=order&fileOwnerId=order&fileType=image&token;="+app.getToken(); $.ajax({ url: URL, //请求地址 type: "post", async: true, //默认为异步 data: formData, //参数 contentType: false, //数据请求格式 processData:false, xhr:function(){ myXhr = $.ajaxSettings.xhr(); if(myXhr.upload){ // check if upload property exists myXhr.upload.addEventListener('progress',function(e){ //显示进度条 $("#progress1").show(); var loaded = e.loaded;//已经上传大小情况 var tot = e.total;//附件总大小 var per = Math.floor(100*loaded/tot); //已经上传的百分比 mui("#progress1").progressbar({progress:per}).show(); }, false); // for handling the progress of the upload } return myXhr; },// 成功 success: function (data) { //隐藏进度条 $("#progress1").hide(); if (data.error == 0 && null != data.url) { mui.toast('上传图片成功'); $('.show_img').append("

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧