【问题标题】:How to assign AJAX JSON response to jquery variable?如何将 AJAX JSON 响应分配给 jquery 变量?
【发布时间】:2016-05-06 17:50:11
【问题描述】:

当有人点击类别按钮时,一个 AJAX 请求发送到这个 php 文件中的category.php,我正在编码一个 JSON 响应。

Jquery Onclick 功能

$('#Category').change(function(){            
    var j;
  $.ajax({
   url:'categories.php',
   success: function(results){
      var obj = JSON.parse(status);
       alert(obj);
   }                
  });            
});

category.php 文件

<option value="" selected="">Select Sub Category</option>
<option value="Cars">Cars</option>
<option value="Motorbikes & Scooters">Motorbikes & Scooters</option>

    $status = array('type' => 'yes');
    echo json_encode($status);

现在如何在 AJAX 成功时将 yes 分配给 JQuery 变量?我尝试了一些代码(在上面的 JQuery 代码中),但是没有用,请给我一个解决方案。

【问题讨论】:

  • alert(results) 会得到什么?
  • 你为什么不只是通过“是”??
  • var v = obj.type; ?
  • @urfusion 没什么!!
  • 没有必要使用parse() 方法,将此设置dataType:'json' 添加到您的AJAX 请求中。 dataType 是您期望从服务器返回的数据类型。

标签: javascript php jquery json ajax


【解决方案1】:

根据您的说法,您从results 中的php 页面而不是statusresults 中获得响应,而results 本身就是一个jquery 变量。所以把status改成results

$('#Category').change(function () {
    var j;
    $.ajax({
        url: 'categories.php',
        success: function (results) {
            var obj = JSON.parse(status);
            alert(obj);
        }
    });
});

【讨论】:

  • 我没有从那个 category.php 页面中提到的东西不仅编码 JSON 响应来了,还有一些其他
  • @user466061:然后修复你的服务器脚本只返回 JSON。
  • @felixKling 我需要编码的 JSON 和那些
  • @urfusion 这是我得到的错误,VM34325:4 Uncaught SyntaxError: Unexpected token
  • @user466061:然后将 HTML 作为 JSON 的一部分发送。或者更好:根据您返回的数据在 JavaScript 中生成 &lt;option&gt; 元素(而不是在服务器端构建它们)。您不能以相同的响应返回两种不同类型的数据并以合理的方式对其进行处理。
【解决方案2】:

解决了这个问题..感谢大家的努力..

$('#Category').change(function () {        
    $.ajax({
        url: 'categories.php',
        success: function (results) {
            if (results.indexOf("yes") >= 0) {
              var j = 'yes';
              alert(j);
             }
        }
    });
});

【讨论】:

    猜你喜欢
    • 2020-05-19
    • 2016-12-14
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 2016-04-20
    • 1970-01-01
    • 2019-03-28
    • 2018-03-28
    相关资源
    最近更新 更多