【问题标题】:Get json array from php to javascript with $.getJSON()使用 $.getJSON() 从 php 获取 json 数组到 javascript
【发布时间】:2014-02-22 13:09:05
【问题描述】:

我有 application.php 页面,其中 json 数组与 php 相呼应。在客户端上,当表单提交(submitHandler)时,我想在按钮单击时获取带有 $.getJSON() 的 json 数组。问题是,如果我在 $.getJSON() 中运行 alert() 或 console.log() 什么都不会发生(我只在控制台中看到 GET 执行)。

代码:

$.getJSON('../views/application.php', function(data) {
     alert('alert1');
     if(data) {
         document.write(data.resp);
         alert('alert2');
     }
     else {
         alert('error');
     }
 });

GET http://localhost/app/views/application.php

【问题讨论】:

  • 可能在$_SESSION、临时文件、数据库上?
  • 使用会话变量的关键是它们对客户端不可见?
  • 我认为您没有按照应有的方式使用 ajax?如果你执行你的第一个“post”并且 php 生成一个结果,你需要让 PHP “echo”那个结果,以便它可以被读取为 ajax 响应,然后你可以在你的第二个 ajax 请求中使用该值。这不是你的做法吗?
  • 你想在哪里存储数据?本地存储添加到 Mihai lorga 评论
  • 您的问题含糊不清..您能澄清一下您要做什么吗?

标签: javascript php jquery html ajax


【解决方案1】:

您可以在脚本中使用 var temp 并将数据存储在该变量中。

 变量 x;
   <script type="text/javascript">
      x='<?php echo $comparisonResult; ?>';
   </script>

【讨论】:

    【解决方案2】:

    【讨论】:

      【解决方案3】:

      我认为最好的方法是在您的第一个发布请求的响应中返回所需的服务器数据,就像这样:

        $.post( "/first.php", function( serverData ) {
           var param = serverData.something;
           ...
           $.post( "/second.php", param, function( data ) {
              ...
           });
        });
      

      如果你在两个不同的页面中使用这两个请求,你可以将serverData存储在localStorage中。

      在澄清后编辑:

      如果您需要在点击按钮时在ajax post之前获取数据,您可以这样做:

      $("#second-button").click(function() {
         $.getJSON("/data.php", function (serverData) {
            var param = serverData.something;
            $.post("/second.php", param, function(data) {
               ...
            });
         }
      });
      

      编辑 2

      由于某种原因(错误的 url、无效的 json 等)您的 $.getJSON 失败。

      试试这个调试:

      $.getJSON("/data.php", function (serverData) {
         console.log(serverData);
      }).fail(function(j, t, e) {
         console.error(e);
      });
      

      【讨论】:

      • 现在我在我的页面上看到了 json 数组,它在 php 脚本中得到了回显。我尝试使用 $.getJSON() 获取 json 数据,但没有任何反应。你知道我做错了什么吗?
      • 什么都没发生是什么意思,是不是报错了,或者serverData是空的?不看完整代码很难给你相关建议。您能否编辑您的问题并添加您尝试过的内容?
      猜你喜欢
      • 1970-01-01
      • 2013-02-01
      • 1970-01-01
      • 2017-07-02
      • 2020-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多