首页 新闻 会员 周边

jquery 回调函数无返回值的问题,提示:XML5619: 文档语法不正确。

0
悬赏园豆:10 [已解决问题] 解决于 2015-11-06 00:58

处理页面:

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>

Lasthelloworld的主页 Lasthelloworld | 初学一级 | 园豆:92
提问于:2015-01-15 16:59
< >
分享
最佳答案
1

理论上应该是你后台返回的格式不正确。建议看看到底是哪个地方抛出的错误。看你的ajax是请求json对象。不清楚为啥报xml相关的错误。还有,建议将后台的返回值,修改为json字符串。

收获园豆:10
幻天芒 | 高人七级 |园豆:37175 | 2015-01-16 08:58

昨天修改后,后台返回设置为:

echo json_encode('data');

返回数据格式就正确了,感谢:幻天芒

Lasthelloworld | 园豆:92 (初学一级) | 2015-01-16 09:58

@Lasthelloworld: :)

幻天芒 | 园豆:37175 (高人七级) | 2015-01-16 10:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册