【问题标题】:REST API Client JavaScript doesn't workREST API 客户端 JavaScript 不起作用
【发布时间】:2017-05-23 17:09:47
【问题描述】:

我有一个GET 方法的示例,它对我不起作用。任何想法为什么? 附:我是HTML 和JavaScript 的新手,所以如果您发现任何其他错误,请说出来,提前谢谢!

代码如下:

<button type="button" onClick="MyFunction()">try it!</button>

<script>
        $.ajax({
        type: 'GET',
        url: 'http://my/api',
        success: function MyFunction(data) {
            var obj = JSON.parse(data);

            window.alert(obj);
            }
        });
</script>

【问题讨论】:

  • 你得到什么错误?

标签: javascript html rest api get


【解决方案1】:

您正在点击成功回调。那不适合你。您应该将 ajax 代码保留在 MyFunction() 中并调用它。

<button type="button" onClick="MyFunction()">try it!</button>

<script>

function MyFunction(){
    $.ajax({
        type: 'GET',
        url: 'http://my/api',
        success: function (data) {
            var obj = JSON.parse(data);
            window.alert(obj);
        }
    });

</script>

【讨论】:

    【解决方案2】:

    您试图在单击按钮时调用 MyFunction()。 您声明它的方式,函数 MyFunction 是一个回调,一旦 ajax 调用成功结束就会执行,而不是 ajax 调用本身。 你想做的(我认为)是:

    <button type="button" onClick="MyFunction()">try it!</button>
    
    <script>
        function MyFunction(){
            $.ajax({
                type: 'GET',
                url: 'http://my/api',
                success: function (data) {
                    var obj = JSON.parse(data);
                    window.alert(obj);
                }
            });
    </script>
    

    您可以在W3C Schools 看到其他一些简单的 jQuery ajax() 用例

    【讨论】:

    • 谢谢!尽管看起来 100% 合乎逻辑,但它仍然不起作用。我想我的 API 可能有问题:)
    • @Zilvinas 共享浏览器控制台中显示的错误将使您的代码故障排除变得更加容易。如果它可以帮助您解决问题,请考虑将其标记为已接受的答案:)
    • 谢谢,但我没有收到任何错误,只是按钮不起作用。尽管 API 在其他地方工作,但它不在这里 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-08
    • 1970-01-01
    相关资源
    最近更新 更多