douqingzhi0980 2017-02-14 06:47
浏览 90

用javascript调用API

I have a API php functions that executes a SQL query from the database and encodes the values in JSON.

eg

function getApiCall(){
     $sql = 'SELECT * AS "Total" from tablename"';
    try {
        $db = getConnection();
        $stmt = $db->prepare($sql);
        $stmt->execute();
        $user = $stmt->fetch(PDO::FETCH_OBJ);
        $db = null;
        echo json_encode($user);
    } catch(PDOException $e) {
        echo '{"error":{"text":'. $e->getMessage() .'}}';
    }
}

The value on calling the URL http://localhost/getapicall/apikey in the browser is

{"Total":"80"}

In my front end HTML page using JavaScript, the API URL is called

<script type="text/javascript">
var myJSON = $.get('../v1/getapicall/default');
document.getElementById("txt1label").innerHTML = myJSON;
</script>

But the value displayed is [object object] , how do I display the value of the json data i.e 80 in this case?

If I try putting

document.getElementById("txt1label").innerHTML = myJSON.Total;

The value gets displayed as undefined.

  • 写回答

2条回答 默认 最新

  • douying4909 2017-02-14 06:50
    关注

    $.get() is an asynchronous function, which means it won't return your data right away- it has to make a round trip to your server first.

    Instead you pass it a function to be executed when the data is returned from your endpoint.

    var myJSON = $.get('../v1/getapicall/default', function(result) {
        document.getElementById("txt1label").innerHTML = result.Total;
    }));
    
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化