Javascript 外部PHP数据未通过AJAX

Javascript 外部PHP数据未通过AJAX,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我正在使用PHP和AJAX创建一个简单的在线预订系统 当前布局为: 每次预订都会获取一个预设的项目列表,然后用户可以添加他们需要的其他项目。 为此,我设置了一个AJAX按钮,每次单击该按钮时都会调用一个新的下拉列表。(这意味着一个页面可以有1个附加项,甚至20个附加项,这取决于他们需要多少。) 一旦选择了其他项目,他们就可以提交表单,并被引导到一个确认页面,该页面旨在列出他们选择的内容 问题是: 没有从添加的任何下拉列表中携带任何数据 我在第1页上的AJAX脚本和php代码是: <scri

我正在使用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'/>

函数changeIt()
{
$.ajax({
类型:“POST”,
url:“details.php”
}).完成(功能(结果){
$(“#msg1”)。追加(“+结果);
});
}   
details.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>

我不太确定是否需要向AJAX脚本中添加一些内容,以使其按预期工作,或者是否需要在details.php中更改一些内容?(我对AJAX非常陌生)

我查看了前面的问题“”,但无法使其对我起作用

最后,对于附加列表(当需要多个项目时),我是否需要有一个功能,说明每个设备列表具有不同的名称?比如
name=“装备,其中$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查询/响应。

您的
$.ajax()
没有
数据:
参数,因此您只需启动一个不包含表单数据的http请求。您是否确认您的php正在输出db结果?如果您希望从php脚本中提取数据,您将希望获取而不是发布。此外,您的数据类型应设置为HTMLI。我已经确认我的php是您的t输出一个db结果。当谈到AJAX时,我一无所知。我想我已经把自己弄糊涂了。所以每次我按下“添加项”按钮时,我都会收到一条成功消息,但当我按下“提交”按钮时,仍然没有收到任何消息?你的代码将添加到我已经存在的函数中?好的,现在我在阅读/v后对它有了更好的理解我看到了更多的教程,但当我点击提交按钮时,我仍然对如何获取信息以进入下一页感到困惑
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]' );
                }
    });