处理页面:
DoMessage.php
<?php
header("Content-type: text/html; charset=utf-8");
$DOCUMENT_ROOT = $_SERVER["DOCUMENT_ROOT"];
if(isset($_POST["username"]) && $_POST["username"]!="")
{
$userName = $_POST["username"];
}
if(isset($_POST["desc"]) && $_POST["desc"]!="")
{
$Desc = $_POST["Desc"];
}
if(isset($_REQUEST["password"]) && $_POST["password"]!="")
{
$userPwd = $_REQUEST["pwd"];
}
echo $userName;
提交页面:FormMessage.php
<html>
<head>
<meta charset="UTF-8">
<title>异步提交表单并把数据保存在文本文件中</title>
<script src="js/jquery-1.8.3.min.js" type="text/javascript"></script>
<script type="text/javascript" >
$("document").ready(function(){
$("#sumbitform").click(function(){
var ajax_url = "DoMessage.php"; //提交地址
var ajax_type = $("#myform").attr("method"); //提交方法
var ajax_data = $("#myform").serialize(); //序列化表单中的包含name的数据框,序列化为json的键值对
var dataarray = $("#myform").serializeArray(); //把表单数据序列化为一维数组,每个数组元素有两个属性name,value
//判断数据的正确性
if (dataarray.length > 0)
{
var flag = true;
for(var i = 0;i<dataarray.length;i++)
{
if(dataarray[i].name=="" && dataarray[i].value=="")
{
flag = false;
}
}
if(flag)
{
$.ajax({
type: ajax_type,
url:ajax_url,
data:ajax_data,
dataType:"json",
success: function (msg) { alert(msg); }
});
}
}
});
});
</script>
</head>
<body>
<form id="myform" method="post">
账号:<input type="text" name="username" id="usname" /><br>
描述:<textarea id="desc" name="desc"></textarea><br>
密码:<input type="password" name="password" id="pwd" />
<input type="button" id="sumbitform" value="提交" />
</form>
<?php
// put your code here
?>
</body>
</html>
理论上应该是你后台返回的格式不正确。建议看看到底是哪个地方抛出的错误。看你的ajax是请求json对象。不清楚为啥报xml相关的错误。还有,建议将后台的返回值,修改为json字符串。
昨天修改后,后台返回设置为:
echo json_encode('data');
返回数据格式就正确了,感谢:幻天芒
@Lasthelloworld: :)