javascript - 如何通过 jQuery Ajax 在 HTML 和 PHP 之间来回传输 json 字符串?

标签 javascript php jquery ajax json

嗨,我是 PHP 和 jQuery 的新手,我正在做一些测试,试图弄清楚它们是如何工作的。但我在网页和服务器上的 php 文件之间来回传输数据时总是遇到问题。这是代码:

<center>
  <form>
    <hr>
    <table style="width:80%;border:3px;">
      <tr>
        <td align="center"><input type="text" id="name" placeholder="First Last"></td>
        <td align="center"><input type="text" id="ssn" placeholder="First Last"></td>
        <td align="center"><input type="text" id="birth" placeholder="First Last"></td>
        <td align="center"><input type="text" id="xxxx" placeholder="First Last"></td>
        <td align="center"><button type="button" id="add">Add</button></td>
        <script>
          $("#add").click(function() {
            var nameIn = $('#name').val();
            var ssnIn = $('#ssn').val();
            var birthIn = $('#birth').val();
            var xxxxIn = $('#xxxx').val();
            
            xxxxIn = "\$" + xxxxIn;
            $.ajax({
              type:"POST",
              url:"database_update.php",
              dataType:"JSON",
              data: {
                name: nameIn,
                ssn: ssnIn,
                birth: birthIn,
                xxxx: xxxxIn
                },
              success: function(ret) {
                var out = JSON.stringify(ret);
                alert(out);
                }
            });
          });
        </script>
      </tr>
    </table>
  </form>
</center>
 

<?php
$name = $_POST['name'];
$ssn = $_POST['ssn'];
$birth = $_POST['birth'];
$xxxx = $_POST['xxxx'];

header('Content-type: application/json');
if (isset($name))
{
  $ret = array(
    "name" => $name,
    "ssn" => $ssn,
    "birth" => $birth,
    "xxxx" => $xxxx
    );
  echo json_encode($ret);
} ?>

警报功能从未被触发,并且 php 响应成功。

最佳答案

虽然似乎不太可能有人会偶然发现这篇文章并提出完全相同的问题,但我将发布包含评论实质的答案。

1) 从 PHP 标签“<?php”中删除空格,而不是“<? php

2) 在您的标签中包含 jQuery(您已经完成了此操作)

3) 确保文件位于同一目录中,或者在 AJAX 调用中包含目录路径(这里也很好)

4) 在 Chrome 控制台或 Firebug 的网络选项卡中验证响应。此处不应显示任何 PHP。

5) 尽可能降低复杂性。一旦工作正常,逐渐添加代码。

关于javascript - 如何通过 jQuery Ajax 在 HTML 和 PHP 之间来回传输 json 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29044996/

相关文章:

php - 使用可指责行为时的 Yii2 测试

PHP - 设置/模拟假日期

javascript - 更改父类后表格宽度发生变化

javascript - 从输入框中使用 jquery 在 ajax 中传递参数

javascript - Angular : Directive updating parent scope inside of ng-repeat

javascript - R网络D3包: forceNetwork() coloring

php - PDO::__construct():服务器向客户端发送未知字符集 (255)。请向开发人员报告

javascript - 如何更改单选按钮的文本

php setcookie 不适用于 ajax 调用

javascript - 在 Firefox 和 IE 中触发的 onclick 事件在 Chrome 中不触发