API_DoQuery and jQuery.getScript using POST requests for IE11

  • 0
  • 1
  • Question
  • Updated 3 years ago
  • Answered

We have an application which uses very successfully $.get() and $.getScript() to query QuickBase tables and getting/executing scripts using Dan's image on load technique, but it "only" works on Firefox, Safari or Chrome

The problem is (not unexpectedly), when we try to use IE11. The same $.getXXX requests are getting rejected by QuickBase. One of the reasons we use jQuery is to try and get away from the quirks of different browsers, but it seems this is one case where it didn't work.

Searching through different forums, we found IE11 is really crappy processing "GET" requests, and most often the recommended workaround is to simply make all of our requests using "POST" instead.

Our next step was to try and form POST requests using $.post([settings]), and passing all of the configuration parameters within the [settings] object. Even then, we are getting an error from QuickBase, saying "we didn't understand the url". After searching for a while, it seems that the url must include the "action" (e.g. "domain/db?act=API_DoQuery". The application token is being passed within the xml data (<apptoken>), and we ommited the authentication ticket because we're running the script from within the application after the user logs in, so we have an active cookie in the browser (which works well with $.get()).

Does anybody know what is the correct way to form a POST request for the QuickBase API, preferably with jQuery? Alternatively, does anybody know a better workaround in IE11? Last but not least, has anybody used the Javascript SDK in github (it seems nobody cares for it since 2013; I wonder if it has any sort of problem)?

Thank you,
Rick

P.S. We're already using cache-busting techniques too -adding a random string to the url and using jQuery.ajax({cache: false}), but they made no difference.

P.S.2: The source code on the Javascript SDK (https://github.com/QuickbaseAdmirer/Quickbase-JavaScript-SDK) looks promising, but maybe a little too convoluted for our purposes. We thought we should try the forums first.

Photo of Rick

Rick

  • 40 Points

Posted 3 years ago

  • 0
  • 1
Photo of Ⲇanom the ultimate (Dan Diebolt)

Ⲇanom the ultimate (Dan Diebolt), Champion

  • 29,604 Points 20k badge 2x thumb
You have to do simple debugging to find an answer. The IOL technique should work in IE browsers. I can't test on IE11 because I updated all my Windows boxes to Win10 to use the Edge browser. Perform these two simple tasks to debug:

(1) test that the IOL technique is setup correctly by replacing all of your existing statement in the module.js file with a simple alert() or console log(). This will answer the questions if the module.js is loading.

(2) test what comes back from your $.post() or $.get() command by logging the xml response to the console using:

console.dirxml(xml)

This statement "requests are getting rejected by QuickBase" isn't help for debugging purposes.

The other piece of information that would be helpful is your exact $.post() or $.get() statement or even better you full script you are using.