Javascript POST 不起作用:将 Javascript 数组传输到 PHP
在本文中,我们将解决尝试发送 Javascript 时遇到的困难使用 POST 方法将数组发送到 PHP 脚本。
用户正在利用 Javascript 函数将数组 POST 到 PHP 脚本:
<code class="js">function sendToPHP() { $.post("index.php", { "variable": toSearchArray }); }</code>
在 PHP 脚本中,他们尝试接收并打印数组:
<code class="php"><?php $myval = $_POST['variable']; print_r ($myval); ?></code>
尽管做出了这些努力,数组仍未成功传输。应该考虑的一个潜在罪魁祸首是对 AJAX 操作方式的误解。
由 jQuery 推动的 AJAX 不是一个自动过程。它需要结构化的实施。典型的工作流程包括:
在提供的代码中,客户端脚本缺少最后一步:处理来自服务器的响应。在本例中,PHP 脚本只是打印数组。要在客户端显示数组,必须处理响应并将其显示在合适的元素中,例如 div。
以下是如何使用 jQuery 实现此步骤的示例:
<code class="js">$(document).ready(function() { $('#btn').click(function() { // Get the value from the input field var txt = $('#txt').val(); // If the input field is empty, display an error if (txt == "") { alert("Enter some text"); } else { // Send the text to the server $.post('catcher.php', { 'text': txt }, function(data) { // The response is now available in the 'data' variable // Update the UI with the response $('#response').text(data.message); }, 'json'); } }); });</code>
在这个例子中,来自服务器的响应在 $.post() 方法的回调函数中进行处理,其中数据对象的 message 属性显示在响应 div 中。
它值得注意的是,虽然此示例使用文本作为发送的数据,但相同的方法可以应用于发送数组。关键步骤是确保服务器的响应得到处理并在客户端正确显示。
以上是为什么我的 Javascript 数组没有通过 POST 发送到 PHP?的详细内容。更多信息请关注PHP中文网其他相关文章!