簡體   English   中英

如何顯示存儲在ajax全局變量中的數據?

[英]How to display data storing in ajax global variable?

用戶選擇選項之一並提交表單。

然后,無需提交表單,我需要顯示json文件中的數據。

我將ajax調用存儲在全局變量display_this並在提交表單后將該變量作為函數調用。

當我選擇選項並按提交時,出現此錯誤:

TypeError: display_this is not a function

當我刷新頁面時,它將顯示數據。

我的代碼:

<form id="form">
  <select name="op" id="op">
    <option value="A">A</option>
    <option value="B">B</option>
  </select>
  <input value="Submit" type="submit" id="submit">
</form>

我的JSON數據:

[ 
  {"key":"A","val":"apple"},
  {"key":"A","val":"orange"},
  {"key":"B","val":"carrot"},
  {"key":"B","val":"onion"}
]

我的jQuery代碼:

$(document).ready(function () {
  var output;
  var display_this = function () {
    var val = $("#op").val();

    $.ajax({
      async: 'false',
      type: 'post',
      url: 'abc.php',
      data: {
        "val": val
      },
      dataType: 'json',
      success: function (response) {
        var data = JSON.stringify(response);
        var resp = JSON.parse(data);

        $.each(resp, function (i, item) {
          if (val == "A" && resp[i].key == "A") {
            output += resp[i].val + "</br>";
          } else if (val == "B" && resp[i].key == "B") {
            output += resp[i].val + "</br>";
          }
        });
        return results.html(output);
      }
    });
  }();

  $('#form').submit(function (e) {
    e.preventDefault();
    display_this();
  });
});  

您的功能不適用於您的表單提交。 我建議這個

$(function () {
  $('#form').submit(function (e) {
    e.preventDefault();
    var output;
    var val = $("#op").val();

    $.ajax({
     // async: 'false', // do NOT use async false
      type: 'post',
      url: 'abc.php',
      data: {
        "val": val
      },
      dataType: 'json',
      success: function (resp) {
        $.each(resp, function (i, item) {
          if (val == "A" && resp[i].key == "A") {
            output += resp[i].val + "</br>";
          } else if (val == "B" && resp[i].key == "B") {
            output += resp[i].val + "</br>";
          }
        });
        $("#results").html(output);
      }
    });
  });
});  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM