首页  >  文章  >  后端开发  >  为什么我的 Javascript POST 不起作用:如何将 Javascript 数组发送到 PHP?

为什么我的 Javascript POST 不起作用:如何将 Javascript 数组发送到 PHP?

Barbara Streisand
Barbara Streisand原创
2024-10-30 15:48:02724浏览

Why is My Javascript POST Not Working: How Do I Send a Javascript Array to PHP?

Javascript POST 不起作用:将 Javascript 数组发送到 PHP

尽管进行了多次尝试,但您在将 JavaScript 数组传递给 PHP 时遇到了挑战通过 POST 的 PHP 脚本。为了寻求解决此问题的帮助,您提供了以下代码:

JavaScript:

function sendToPHP() {
$.post("index.php", { "variable": toSearchArray });
}

PHP:

<?php 
    $myval = $_POST['variable'];
    print_r ($myval);
    ?>

问题解决:

您可能会因误解 AJAX(异步 JavaScript 和 XML)的运行方式而遇到问题。虽然 jQuery 简化了 AJAX 的使用,但需要正确理解该过程。

在您的情况下,sendToPHP() 函数会触发对 index.php 页面的 POST 请求,并将变量参数设置为 toSearchArray。然而,定义 AJAX 成功处理函数来捕获服务器的响应至关重要。

使用 index.php 的示例:

<html>
<head>
<title>Test</title>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $('#btn').click(function(){
        var txt=$('#txt').val();
        if(txt == ''){
            alert("Enter some text");
        } else {
            $.post('catcher.php', {'text':txt}, function(data){
                $('#response').text(data.message);
            }, 'json');
        }
    });
});
</script>
</head>
<body>
<input type="text" id="txt">
<input type="button" id="btn">
<pre id="response" style="overflow:auto;width:800px;height:600px;margin:0 auto;border:1px solid black;">

使用 catcher 的示例.php:

<?php
if(!empty($_POST)){
    $output = array();
    $output['message'] = "Success!";
    echo json_encode($output);
}

此示例演示如何触发 AJAX 调用、将数据发送到 PHP 脚本并接收响应,允许您在指定的 #response 元素中显示响应页面。请记住,发送数组时,只需将文本框值检索替换为发送数组即可。

以上是为什么我的 Javascript POST 不起作用:如何将 Javascript 数组发送到 PHP?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn