外部 PHP 数据不通过 AJAX

External PHP data not passing through AJAX

本文关键字:AJAX PHP 数据 外部      更新时间:2023-09-26

我正在使用PHP和AJAX创建一个简单的在线预订系统。

当前布局为:每个预订都会获取一个预设的项目列表,然后用户可以添加他们需要的其他项目。为此,我设置了一个 AJAX 按钮,每次单击时都会调用一个新的下拉列表。(这意味着一个页面可以有 1 个额外的项目,甚至 20 个,具体取决于他们需要多少。

选择其他项目后,他们可以提交表格,并将被引导到确认页面,该页面旨在列出他们选择的内容。

问题:添加的任何下拉列表中都不会传递任何数据。

我在第 1 页上的 AJAX 脚本和 php 代码是:

<script>
function changeIt()
{
$.ajax({
type: "POST",
url: "details.php"
}).done(function( result ) {
$("#msg1").append( "" +result);
});
}   
</script>
<form name ="addequip" id="addequip" action="confirmbooking.php" method="post">
<input type='button' value="Add Item" onClick="changeIt()"/>
<div id="msg1"></div>
<input type='submit' value='submit'/>

详情.php:

<?php
require_once("dbconn.php");
$sql = "SELECT REFERENCE, DESCRIPTION FROM descEquip";
$result = mysql_query($sql,$conn);
?>
<select name="equip">
<?php while ($row = mysql_fetch_array($result)) { ?>
<option value="<?php echo $row["REFERENCE"];?>"><?php echo $row["DESCRIPTION"];?></option><?php } ?>
</select>

最后,我的确认页面是:

<?php $item = $_POST['equip']; ?>
<?php echo $item ?>

不太确定我是否需要向 AJAX 脚本添加一些内容才能使其按预期工作,或者是否需要更改详细信息.php?(我对 AJAX 很陌生(

我看过之前的问题"通过 AJAX 将表单数据传递给 mySQL",但我无法让它为我工作。

最后,对于其他列表(当需要超过 1 个项目时(,我是否需要有一个功能来说明每个装备列表都有不同的名称? 像name="equip<?php echo $i ?> where $i = 1++;

任何提示或示例将不胜感激,谢谢。

永远不要假设一切都会按照你想要的方式工作 - 检查你的代码中是否有问题:

var jqxhr = $.ajax(
    {
        type: 'GET',
        async: false,
        url: 'details.php',
        success: function(data, textStatus /* always 'success'  */, jqXHR)
                 {
                    // ok if we are here it means that communication between browser and apache was successful
                    alert( 'on_ajax_success data=[' + data + ']  status=[' + textStatus + ']' );
                    $("#msg1").innerHTML( result );
                 }
        ,
        error: function(jqXHR, textStatus, errorThrown)
                {
                    alert( 'ERROR: [operation failed]' );
                }
    });

此外 - 使用安装了Firebug的Firefox,以便您可以看到您的ajax查询/响应。