AJAX表单发送数据,PHP表单没有收到它

时间:2014-01-14 01:33:20

标签: php jquery ajax forms fancybox

我之前有过这个工作,但现在它似乎不想拿起数据。当我试图让它停止刷新页面时,可能会发生一些变化。

表单提交,但仅适用于某些链接。但是,数据会正常发送。这太奇怪了。

这是数据发送到的页面。现在它只接受数据并发布以进行测试。 “文字”显示但没有别的。

<?php

$ship_id = $_POST['transfer_ship'];
$char_id = $_POST['transfer_character'];
$pos_id = $_POST['transfer_position'];
$requested_by = $_POST['transfer_player'];

echo 'Success';
echo $ship_id;
echo $char_id;
echo $requested_by;
echo $pos_id;
echo $char_owner;
echo 'Text';

这是它发送的表格。它是正在运行的PHP UL系列的一部分。对于第一个结果,jQuery触发,我得到“成功”警报。对于任何其他li链接,数据显然会被发送(我使用Chrome中的F12开发工具,在网络下查看标题)但上面的页面要么没有收到它,要么没有对它做任何事情。< / p>

jQuery的:

<script type="text/javascript" src="../fancybox/jquery.fancybox.js?v=2.1.3"></script>
<script type="text/javascript">
$(document).ready(function() {
    $(".fancybox").fancybox();
});
</script>
<script src="http://malsup.github.com/jquery.form.js"></script> 
<script> 
    // wait for the DOM to be loaded 
    $(document).ready(function() { 
        // bind 'myForm' and provide a simple callback function 
        $('#transfer').ajaxForm(function() { 
            alert('Success!');
        }); 
    }); 
</script> 

表格和UL:

<ul>
<?php
        while(list($key, $val) = each ($arrayresult))
        {

            echo '<a href="#inline' .$val. '" class="fancybox"><li style="padding: 2px; margin: 0px; list-style: none;">';
            echo '<img src="../images/profilepics/'.$charpic.'" style="float: right; padding-left: 10px; width: 40px;" />';
            echo '<h2>'.$val.' Position</h2>';
            echo '<p>Click here to apply for this position.</p>';
            echo '</li></a>';

            echo '<div id="inline' .$val. '" style="display:none;">';
            echo '<h1>Request Character Transfer</h1>';
            echo '<hr>';
            echo '<form id="transfer" action="TransferRequest.php" method="post">';
            echo '<label for="transfer_character">Character to Transfer</label>';
            echo '<select id="transfer_character" name="transfer_character">';
            echo '<option value="">Select Character</option>';

            $request_character_query = "SELECT * FROM character_database WHERE character_active ='1' AND user_id = $user_id ORDER BY character_firstname DESC";
            $request_character_result = mysqli_query($mysqli, $request_character_query);

            /*** loop over the results ***/
            foreach($request_character_result as $charrow)
            {
              /*** create the options ***/
              echo '<option value="'.$charrow['character_id'].'">'. $charrow['character_firstname'] . " " . $charrow['character_surname'] . '</option>'."\n";
            }
            echo '</select>';
            echo '<p>Applying for the '.$val.' position on the '.$shipname.'</p>';
            echo '<p>If this is correct, please submit below</p>';
            echo '<input type="hidden" value="'.$val.'" name="transfer_position">';
            echo '<input type="hidden" value="'.$ship_id.'" name="transfer_ship">';
            echo '<input type="hidden" value="'.$user_id.'" name="transfer_player">';
            echo '<input value="Submit Request" type="submit" class="styled">';
            echo '</form>';
            echo '</div>';
        }
    ?>
</ul>

1 个答案:

答案 0 :(得分:0)

我明白了!我有我的htaccess文件删除.php扩展名,但我在ajax的重定向链接上有.php。所以它正在点击.php页面然后重定向而没有POST数据。