【问题标题】:Getting Undefined Error when trying to store ajax JSON response into variable尝试将 ajax JSON 响应存储到变量中时出现未定义错误
【发布时间】:2015-04-16 11:35:19
【问题描述】:

我正在尝试进行 ajax 调用,我想将 JSON 响应存储到变量中。
因为 JSON 响应,我想将它传递给两个 Jqgrids。一个将显示一半的响应,另一个将显示剩余的响应。请帮助我在Jqgrids 上显示一些想法。

这就是我尝试存储 JSON 响应的方式,但我在将变量传递给 alert() 函数时得到了 undefined error

var form_data;
$(searchBTN).click(function(event))
{
    $.getJSON("search?dealId=" + orderId,
        function(json) {
            form_data = json.CompanyName;
            checkdata();                                        
        });

    function checkData() {
        console.log(form_data);
        alert(form_data);
    }
}

【问题讨论】:

  • console.log(form_data) 打印的值是多少?
  • 您给定的代码示例有很多问题,意图不明确。由于 Click 处理程序未正确关闭,我已对其进行了一些更正。但是还是有歧义。您是否打算在匿名点击处理函数的声明中包含 checkData() 的声明?
  • 您需要在问题中包含更多详细信息。检查form_data值是否存在或为空。

标签: java javascript ajax json jqgrid


【解决方案1】:

请检查您的 json 数据格式,表示 json 数组变量键。我认为您访问了错误的变量。未定义的错误表明您当前的键在 json 对象中未定义。测试使用此警报(JSON.parse(json))

【讨论】:

    【解决方案2】:

    我认为您打算做的更好的方法如下:

    var form_data;
    $(searchBTN).click(function(event)) {
        $.getJSON("search?dealId=" + orderId, function(json){
            form_data = json.CompanyName;
            console.log(form_data);
            alert(form_data);               
        });
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-30
      • 2013-04-16
      • 2017-01-11
      • 2019-05-09
      • 2021-06-15
      相关资源
      最近更新 更多