$ .get一直导致[object%20Object]

时间:2015-06-02 15:43:53

标签: javascript jquery html

我正在使用一个quickbase数据库,我正在尝试通过API提取JSON数据,但出于某些原因,每次我尝试将其全部用于控制台中的所有数据都是" 400(错误请求)[object%20Object]"

  <!-- Load handlerbars.js  -->
  <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.0.rc.1/handlebars.min.js"></script>
  <!-- Load Jquery from CDN  for easy DOM manipulations -->
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
 <link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.0/themes/smoothness/jquery-ui.css" />
 <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.0/jquery-ui.min.js"></script>

  <!-- Simple handlebars template for a blog post, inside {{variable}} are variables we can afect with JS objects-->
  <script id="simple-template" type="text/x-handlebars-template">
      <h1>{{title}}</h1>
  <p>
        {{company}}
  </p>
  </script>

  <script type="text/javascript">

 var sgajson = https://sga.quickbase.com/db/<my-db>?apptoken=<my-app-token>&act=API_GenResultsTable&query={8.EX.8}&jsa=1&options=num-1;

//wait for page to load
$(document).ready(function(){
  // Extract the text from the template .html() is the jquery helper method for that
  var raw_template = $('#simple-template').html();
  // Compile that into an handlebars template
  var template = Handlebars.compile(raw_template);
  // Retrieve the placeHolder where the Posts will be displayed 
  var placeHolder = $("#main");
  // Fetch all record data from server in JSON
  $.get(sgajson,function(data,status,xhr){
    $.each(data,function(index,element){
      // Generate the HTML for each post
      var html = template(element);
      // Render the posts into the page
      placeHolder.append(html);
     });
    });
 });
</script>
</head>

<body>
<!-- Insertion point for handlebars template -->
<div id="main" style="margin-left:100px">
</div>

我已经看到了一些有关这方面的事情,但所有这些问题都是通过插件或其他一些我无法有效解决的方法来解决的。我希望有一些东西可以解决这个问题我和# 39;我没有看到

2 个答案:

答案 0 :(得分:1)

它读起来就像你实际通过电线的是“[object%20Object]”。如果这是你的实际剧本,我不知道如何

var sgajson = https://sga.quickbase.com/db/bjyi8bgd7?apptoken=bkc8zafhy2b3qc5rdm27d5u2679&act=API_GenResultsTable&query={8.EX.8}&jsa=1&options=num-1;

不是语法错误,没有值的引号。但是它工作正常,你的sgajson变量被设置为“[object%20Object]”(在对象上运行toString()的结果)而不是你想要的。

答案 1 :(得分:0)

var sgajson = https://sga.quickbase.com/db/bjyi8bgd7?apptoken=bkc8zafhy2b3qc5rdm27d5u2679&act=API_GenResultsTable&query={8.EX.8}&jsa=1&options=num-1;

可能是变量定义中的问题,应该是:

var sgajson = 'https://sga.quickbase.com/db/bjyi8bgd7?apptoken=bkc8zafhy2b3qc5rdm27d5u2679&act=API_GenResultsTable&query={8.EX.8}&jsa=1&options=' + (num-1);

你也在使用你的数据,就像它是一个对象,这是一个字符串。 $.each无法使用字符串。