【问题标题】:jquery and PHP - Sending information back from php to the JSjquery 和 PHP - 将信息从 php 发送回 JS
【发布时间】:2009-05-28 05:44:17
【问题描述】:

感谢所有出色的答案,这很有帮助!


您好,我需要一些建议/帮助(显然)

总的来说,我对 jquery/ajax 还是很陌生,但到目前为止我已经能够做很多事情了。这是我正在尝试做的事情,以及到目前为止我已经设法做的事情。

我正在尝试模仿 wordpress 帖子类别。您在哪里写帖子,然后当您想将其添加到类别时,您只需在现场创建新的复选框类别!

我已经设法让它工作到我将请求发送到 php 脚本的位置,并将记录添加到我的数据库中,然后将新复选框附加到我的列表底部。我遇到的问题是我需要从 PHP 返回两个值,ID 和 NAME。现在我可以返回名称,但我不确定如何单独返回它们,以便我可以在 JS 中操作它们。

我可能会以完全错误的方式解决这个问题。我的想法是我将创建新的类别记录,然后使用 JS 将它们附加回类别列表,然后我会选中它们,当我单击“保存”时,值(ID)将被发送到当前行(帖子)在数据库中。

我希望我说得有道理。如果您有任何问题,请随时提出,如果您有任何想法或答案,请告诉我!

谢谢!

【问题讨论】:

    标签: php jquery ajax


    【解决方案1】:

    尝试以 JSON 格式返回文本。根据您使用的 jQuery AJAX 方法,您可以设置自定义回调(在第一个函数返回后调用的函数)。

    例如,如果您使用 $.post 方法,您可以执行以下操作:

    后端.php:

    $return_value = array();
    $return_value['value1'] = 'data 1';
    $return_value['value2'] = 'data 2';
    echo json_encode($return_value);
    

    前端.js:

    $.post("backend.php", '',
        function(data) {
            alert(data.value1); // Would show data 1
            alert(data.value2); // Would show data 2
    }, "json");
    

    【讨论】:

      【解决方案2】:

      嗯,我知道你想要做什么:

      到现在为止,您一直在将新创建的类别的 ID 从 php 以纯文本形式返回给调用的 javascript。

      现在您想要同时返回新创建类别的 ID 和 NAME。

      有两种方法可以做到这一点:使用 XML 或 JSON。 (可能会争辩说还有更多方法。而且确实有。)

      在 XML 中:

      <response>
        <ID>2</ID>
        <NAME>jquery</NAME>
      </response>
      

      在 JSON 中:

      {
        id : 2,
        name : "jquery"
      }
      

      在 javascript 中解析 JSON 是一件小事。 解析 XML 可以使用 jQuery 完成,只需查找 jQuery ajax 文档。

      干杯,

      jrh.

      【讨论】:

      • 对于简单的情况,JSON 更好。当您计划在 smth 上进行资源之间的相互通信时,首选 XML。像客户端-服务器应用程序。
      【解决方案3】:

      最常用的返回值方法是使用 JSON 字符串JSON wikipedia

      然后做

      var p = eval(response.txt);
      alert(p.var1);
      alert(p.var2);
      

      【讨论】:

        【解决方案4】:

        假设$id$name 是您要返回的值:

        <?php
        
        $id = 2;
        $name = "jquery";
        
        echo json_encode (array("id" => $id, "name" => $name));
        
        ?>
        

        然后使用任何其他答案在 Javascript 中操作这些值。

        【讨论】:

          猜你喜欢
          • 2014-11-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-04-05
          • 1970-01-01
          • 2021-11-24
          • 2013-05-31
          • 1970-01-01
          相关资源
          最近更新 更多