首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QuickBase jQuery/Ajax调用谜题

QuickBase jQuery/Ajax调用谜题
EN

Stack Overflow用户
提问于 2012-05-12 03:52:09
回答 1查看 1.8K关注 0票数 0

我已经为这个QuickBase jQuery/Ajax问题困惑了两天的大部分时间。考虑一下在$(function()...)中运行的jquery代码:

代码语言:javascript
复制
    <script type="text/javascript">
        $(function() { 
            $.ajax({
                type: "GET",
                url: "https://www.quickbase.com/db/<mydbid>", // <- returns error
                //url: "http://pfs.fedcap.com/testdata.xml",  // <- returns xml
                data: {
                    act:"API_DoQuery",
                    query:"{7.EX.235445}",
                    apptoken:"<myapptoken>"
                },
                dataType: "xml",
                error: function(xhr,status) {
                    alert("error");
                },
                success: function(xml) { 
                    alert("OK");
                }
            });
        });
    </script>

如前所述,指向QuickBase的url会返回一个错误,但指向xml文件的url会按预期返回xml。但是这里有一个要点: xml文件( testdata.xml )是通过将浏览器直接指向指定的url:https://www.quickbase.com/db/>?a=API_DoQuery&query={7.EX.235445}&apptoken=并将结果保存到testdata.xml来创建的。在我看来,jquery ajax调用应该产生与testdata.xml文件相同的结果。但事实并非如此。

Firebug xml窗格显示,当对QuickBase站点执行调用时,将返回"XML Parsing Error:语法错误位置:Firebug第1行,第1列:重新加载页面以获取源代码:https://www.quickbase.com/db...“。

我忽略了什么?有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2012-08-07 02:34:15

虽然可以编写他们自己的API的jQuery实现,但使用他们自己的javascript SDK要好得多。https://github.com/QuickbaseAdmirer/Quickbase-JavaScript-SDK

您缺少的重要部分是获取“票证”的身份验证调用。提供应用程序令牌不足以进行DoQuery调用。您必须进行身份验证,然后使用发回的票证进行更多API调用。对于url请求,票证可以很容易地附加到&ticket=randomcharacters。对于XML请求,只需将<ticket>randomcharacters</ticket>添加到XML请求即可。

https://github.com/QuickbaseAdmirer/Quickbase-JavaScript-SDK提供了有关如何使用身份验证调用的更多信息。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10557731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档