3

当我发布该表单时,我有一个带有两个字段的 php 文件(index.php),在 javascript 中,我正在对表单数据进行序列化并通过 ajax 将其发送到下一个 php 页面(results.php)。当我尝试在成功内打印数据时,它没有打印。找到下面的代码。

<html>
<head>
    <title></title>
    <script src="../scripts/jquery-1.9.1.js"></script>
</head>
<body>
    <form method="post" name="index" id="indexform">
        <table border="1">
            <tr>
                <td>Name:</td>
                <td><input type="text" name="fname"></td>
            </tr>
            <tr>
                <td>Email:</td>
                <td><input type="text" name="email"></td>
            </tr>
            <tr>
                <td colspan="2"><input type="submit" name="sendData"></td>
            </tr>
        </table>
    </form>
</body>
<script type="text/javascript">
    $( "#indexform" ).on( "submit", function( event ) {
          event.preventDefault();
          console.log( $(this).serialize() );
          var formdata = $(this).serialize();
         // alert(formdata);
          $.ajax({
                type:"POST",
                url:"result.php",
                dataType:'json',
                data:formdata,
                success: function(data){
                    alert(data);
                }
          });
        });
    </script>

在上面我无法打印成功回调中的数据。

4

4 回答 4

4

试试这个

<script type="text/javascript">
        $( "#indexform" ).on( "submit", function( event ) {
              event.preventDefault();
              console.log( $(this).serialize() );
              var formdata = $(this).serialize();
              $.ajax({
                    type:"POST",
                    url:"result.php",
                    data:formdata,
                    success: function(html){
                        alert(html);
                    }
              });
            });
        </script>

在您的 result.php 页面中

 $name=$_REQUEST['fname'];
    $email=$_REQUEST['email'];
    echo $name." ".$email;
于 2013-08-07T04:59:57.303 回答
2

您将设置为dataTypejson因此您必须确保只返回有效的 json。

这意味着你不能echoprint任何你想要的;您应该在数组或对象中收集数据,然后仅输出一次,例如:

echo json_encode($your_data);
于 2013-08-07T04:53:07.583 回答
0

回显 results.php 页面中的内容。

前任:

echo "two fields $first_field , $second_field  successfully inserted. " ;

此内容作为 ajax 响应产生并存储在 data 变量中。

于 2013-08-07T04:51:19.250 回答
0

你好,我的朋友们,你的 html 代码在

<script type="text/javascript">
    $( "#indexform" ).on( "submit", function( event ) {
          event.preventDefault();
          console.log( $(this).serialize() );
          var formdata = $(this).serialize();
         // alert(formdata);
          $.ajax({
                type:"POST",
                url:"result.php",
                dataType:'json',
                data:formdata,
                success: function(data){
                    alert(data);
                }
          });
        });
    </script>

你的 result.php 文件代码在

<?php
    include 'db.php';
    $name=$_REQUEST['fname'];
    $email=$_REQUEST['email'];
    echo $name." ".$email;
?>

现在 result.php 文件返回输入的名称和电子邮件地址。

于 2013-08-07T05:08:06.163 回答