【问题标题】:Passing json from php to javascript veriable将 json 从 php 传递给 javascript 变量
【发布时间】:2016-05-17 07:18:40
【问题描述】:

我正在使用 php 从 sql 形成一个 json 对象,并使用 json_encode($myarr) 完美运行。 在我的 javascript 中,我正在使用 util 函数来获取 json,它也可以正常工作。

var get_schedule_service = webservices.get_schedule + "/" + 0;
generic_get(get_schedule_service, function(response) {
    if (response) {
        console.dir(response);
    } else {
        alert('empty schedule');
    }
});

上面的代码输出正确的json.

我面临的问题是,当我尝试将输出存储在 javascript var 中时,我收到一个错误,即 var 未定义。

我也尝试将整个 webserice 放在一个数组中,如下所示:

var get_schedule_service = webservices.get_schedule + "/" + 0;
var my_json_array = generic_get(get_schedule_service, function(response) {
    if (response) {
        return response;
    }
});

【问题讨论】:

  • generic_get 是做什么的?
  • 如果这是ajax 的东西,假设是这样,那么它在直接步骤中将没有价值,因为这将是异步的。你需要使用deferredpromise对象在这里。
  • 是的,它是一个 ajax 请求。 get_generic 是一个用于 api 调用的 util 函数
  • 什么是generic_get?请提供完整的定义(完整的代码)。

标签: javascript php jquery


【解决方案1】:

由于AJAX请求本质上是async,所以需要像这样传递一个callback,可以在收到响应时调用:

var get_schedule_service = webservices.get_schedule + "/" + 0;
generic_get(get_schedule_service, function (response, myCallback) {
                if (response) {
                   myCallback(response);
                }
                });


function myCallback(response){
   console.log(response);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-11
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多