Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我有一个调用PHP函数的JavaScript函数。如何使结果显示在html中而不是警报框中?_Javascript_Php_Curl - Fatal编程技术网

我有一个调用PHP函数的JavaScript函数。如何使结果显示在html中而不是警报框中?

我有一个调用PHP函数的JavaScript函数。如何使结果显示在html中而不是警报框中?,javascript,php,curl,Javascript,Php,Curl,我有一个PHP函数,可以对API进行cURL调用。我希望通过使用JavaScript单击按钮来触发此调用。如何使结果显示在HTML中而不是警报框中?我的代码如下: <script> function echoSkilljar() { alert("<?php skilljarApiCall(); ?>"); } </script> <?php functio

我有一个PHP函数,可以对API进行cURL调用。我希望通过使用JavaScript单击按钮来触发此调用。如何使结果显示在HTML中而不是警报框中?我的代码如下:

<script>
        function echoSkilljar() {
            alert("<?php skilljarApiCall(); ?>");
        }
        </script>

    <?php
        function skilljarApiCall() {
            // Get cURL resource
            $curl = curl_init();

            // Set some options - passing a username to Skilljar in the URL
            curl_setopt_array($curl, array(
                CURLOPT_RETURNTRANSFER => 1,
                CURLOPT_URL => 'https://api.skilljar.com/v1/users/***********/published-courses',
                CURLOPT_HEADER => 0,
                CURLOPT_HTTPAUTH => CURLAUTH_BASIC,
                CURLOPT_USERNAME => 'sk-live-***********'
                ));

                // Send the Request & save response to $response
                $response = curl_exec($curl);

                // Close request to clear up some resources
                curl_close($curl);

                // Trim response string to remove leading and trailing "[ and ]"
                $trimmed = trim($response, '"[');
                $newTrimmed = rtrim($trimmed, ']"');

                // Convert trimmed string to JSON
                $json = json_encode($newTrimmed);

                // Convert JSON to usable associative array
                $newJson = json_decode($json);
                $array = json_decode($newJson, true);

                // Make sure it worked... (fingers crossed);
                // var_dump($array);

                // Yay it worked! Now make sure we can access the elements of the array...
                echo $array['course']['id'] . "/ " . $array['course']['title'];
        }   
    ?>

    <button onclick="echoSkilljar()">Skilljar Stuff</button>
    <div id="info"></div>   

函数echoSkilljar(){
警报(“”);
}

使用您的代码,此部分:

<script>
    function echoSkilljar() {
        alert("<?php skilljarApiCall(); ?>");
    }
</script>
因此,在本例中,我们只是讨论如何在HTML中生成简单的字符串输出

有很多方法可以做到这一点。您没有指定,但我假设您想将它放在

为此,我们只需选择它并将其设置为
innerText


函数echoSkilljar(){
document.getElementById('info').innerText=“我的内容”;
}
点击我

欢迎来到Stack Overflow,请[take the tour](),确保您阅读并更新了问题的详细信息。您不能像那样从js调用php函数。。。查找AJAX@samanime我怀疑这不是他想要的结果;)@samanime他现在的问题是,无论按钮是否被点击,curl调用都可能会花费宝贵的时间,但是OP显然希望curl调用在按钮按下之前不会发生click@niceman,我甚至没想到。我在回复你下面的评论时说,我理解,但在仔细思考并阅读了这篇评论后,我意识到我的逻辑存在漏洞。所以…回到绘图板上。永远学习!我将探索AJAX路线。谢谢你的建设性评论和反馈。@JeffreyMobley好的,我只知道API调用是在每次页面加载时进行的,而不是在每次按下按钮时进行的。是的,我理解。
<script>
    function echoSkilljar() {
        alert("my-output");
    }
</script>