Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将jQuery中的变量发布到PHP文件?_Javascript_Php_Jquery - Fatal编程技术网

Javascript 如何将jQuery中的变量发布到PHP文件?

Javascript 如何将jQuery中的变量发布到PHP文件?,javascript,php,jquery,Javascript,Php,Jquery,我意识到以前也有类似问题的其他答案,但是我试图在表中创建一个唯一的链接集合,并且似乎无法获取要发布到php页面的标记id 见下文: echo("<p>To reserve a book, click the Book Title.</p>"); echo "<table class='formfield' border='1'> <tr> <th&

我意识到以前也有类似问题的其他答案,但是我试图在表中创建一个唯一的链接集合,并且似乎无法获取要发布到php页面的标记id

见下文:

            echo("<p>To reserve a book, click the Book Title.</p>");
            echo "<table class='formfield' border='1'>
            <tr>
            <th>Book ID</th>
            <th>ISBN</th>
            <th>Book Title</th>
            <th>Author</th>
            <th>Edition</th>
            <th>Year</th>
            <th>Category</th>
            <th>Reserved</th>
            </tr>";

            $lnkCount = 0;

            while($row = mysqli_fetch_array($sql)) {
                $lnkCount++;
                echo "<tr>";
                echo "<td>" . $row['bookID'] . "</td>";
                echo "<td>" . $row['ISBN'] . "</td>";
                echo "<td><a class='anchor' id='$lnkCount' href='reservation.php'>" . $row['BookTitle'] . "</a></td>";
                echo "<td>" . $row['Author'] . "</td>";
                echo "<td>" . $row['Edition'] . "</td>";
                echo "<td>" . $row['Year'] . "</td>";
                echo "<td>" . $row['CategoryDept'] . "</td>";
                echo "<td>" . ($row['Reserved'] ? 'Yes' : 'No') . "</td>";
                /*echo "<td><input id='$lnkCount' type='button' value='Reserve Now' onClick='post();'></td>";*/ // display yes/no rather than boolean equivalent...
            }
            echo "</table>";
echo(要预订一本书,请单击书名。

”; 回声“ 书号 ISBN 书名 作者 版本 年 类别 含蓄的 "; $lnkCount=0; while($row=mysqli\u fetch\u数组($sql)){ $lnkCount++; 回声“; 回显“$row['bookID']”; 回显“$row['ISBN']”; 回声“; 回显“$row['Author']”; 回显“$row['Edition']”; 回显“$行['年]”; 回显“$row['CategoryDept']”; 回显“($row['Reserved']?'Yes':'No'); /*echo”“;*///显示是/否,而不是布尔等效值。。。 } 回声“;
然后我的jQuery:

       <script lang="JavaScript" type="text/javascript">


            $(".anchor").click(function() {

                var clkID = $(this).attr("id");
                alert(clkID);

                $.post('reservation.php'), {clkID:postid}, function(){/*do something*/};

           });

        </script>

$(“.anchor”)。单击(函数(){
var clkID=$(this.attr(“id”);
警惕(clkID);
$.post('reservation.php'),{clkID:postid},function(){/*do something*/};
});
最后是我的php页面,这并不是真正相关的,但我会在我的问题中发布清晰的内容

            $id = $_POST['postid'];

            echo("<p>Value detected was: $id</p>"); // this is just to test...
$id=$\u POST['postid'];
回波(检测到的值为:$id

);//这只是为了测试。。。
现在,当我单击其中一个链接时,页面会以我单击的链接的正确id发出警报。但是,当它连接到php页面(reservations.php)时,会出现以下错误:

注意:未定义索引:在第41行的C:\xampp\htdocs\webDevProj\reservation.php中发布 检测到的值为:

我相信你们中的>=1会知道我对jQuery不是很有经验,所以如果你们理解我的问题,并且认为有一种更简单的方法来解决这个问题,我将非常感谢你们的意见

p、 这是大学作业:)

编辑#1-- 看不出这个问题与报告中回答的问题有什么关联。它涉及jQuery.post方法。提供的“解决方案”对“未定义索引”在php中的含义给出了各种定义,但对我的问题仍然没有任何意义

编辑#2--
因此,我在JS代码中更改了变量和键,没有做任何更改。我对那一瞬间的大笑充满了希望-我想我会继续寻找…

你在
$\u POST
中找错了键。在AJAX调用中,您将参数设置为名称为
clkId
。因此:

$id = $_POST['postid'];
应该是

$id = $_POST['clkId'];

将这些更改添加到PHP脚本中

发件人:

致:

或编辑JS请求:

$.post('reservation.php'), {postid:clkID}, function(){/*do something*/};

变量名称有问题

请按以下代码编写:

在JS中:

var clkID = $(this).attr("id");    
$.post('reservation.php'), {postid:clkID}, function(){/*do something*/};
因为您的数据存储在
clkID
中。 蚂蚁然后呼叫控制器

$id = $_POST['postid'];

如果您更改了PHP脚本中的变量,那么您可以得到空数据,因为javascript中的
postid
中没有定义数据。

在javascript中,您将检索到的值存储在clkID中,因此您的jQuery需要

$.post('reservation.php'), {postid:clkID}, function(){/*do something*/};
它将把这个变量传递给名为postid的PHP。

$.post(“reservation.PHP,{postid:clkID})
.完成(功能(数据){
警报(“数据加载:”+数据);
});

在php页面中:
$id=$\u POST['postid'];
返回$id//只是测试一下,看看您是否在done函数的数据中得到了它

{postid:clkID}
-这意味着变量的名称应该放在第一位,然后您可以发送变量的值


//供您在PHP中参考使用:-$id=$\u POST['clkID'];这不是打字错误吗?应该是VTC,不是吗?请检查您对
$.post()的使用情况。您只向函数传递了一个参数。Patrick Q-yeah添加了一个函数“.done”仍然没有乐趣!很多论点不是强制性的吗?我的意思是,我所寻找的只是一个post请求,而不是像插入HTML或其他任何东西那样的回报,所以我没有看到point@shakalakaboom请稍等片刻,看看你的代码。然后看看函数应该如何调用。如果不将posted传递给函数,您希望如何发布posted?实际上应该在JS中进行更改,因为该值被分配给
clkID
变量。更改PHP将删除通知,但不会有任何价值。是的,在JS中更改了它们,但仍然没有成功!相同的错误“未定义索引:posted”您好,谢谢您的快速回复。我意识到我犯了一个错误,但不幸的是,不正确的钥匙似乎不是问题所在。事实上,这可能是不正确的,因为我已经玩这个该死的东西太久了!!
$id = $_POST['postid'];
$.post('reservation.php'), {postid:clkID}, function(){/*do something*/};