QuickBase的jQuery/Ajax调用的益智游戏

问题描述:

我也困惑过这个QuickBase的jQuery/Ajax的问题​​了两天更好的一部分。考虑内部运行$(函数()这个jQuery代码...:QuickBase的jQuery/Ajax调用的益智游戏

<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/<mydbid> A = API_DoQuery &查询= {} 7.EX.235445 APPTOKEN & = < myapptoken>并保存结果? testdata.xml。在我看来,jquery ajax调用应该产生与testdata.xml文件相同的结果,但它并不是。

Firebug xml窗格显示t帽子时对QuickBase现场执行的调用返回“XML解析错误:语法错误地点:MOZ-nullprincipal:{3e0d38f1-0e36-4adb-965e-d0e7d68ab0cb} 1号线,1列:刷新页面以获取来源:https://www.quickbase.com/db ...“

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

+0

嗯,我不解的是,这可能是由于浏览器的不允许所谓跨域(或跨网站)ajax调用。这对JSONP来说并不是问题,但QuickBase显然不会响应带有JSON的调用,而只会响应XML。有谁知道解决方法? – user1390191

虽然可以编写自己的jQuery实现自己的API,你就要去使用他们自己的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对如何使用身份验证调用的更多信息。

+0

我无法正确显示/隐藏处理加载器图像使用此QuickBase JS SDK..any想法在这里为我? –