AJAX休息调用错误“意外令牌<”

时间:2016-04-17 06:27:32

标签: javascript jquery ajax

我正在尝试在这个html页面中使用AJAX进行REST调用。首先,用户在/页面的搜索栏中输入一个术语,并重定向到/ test,但是ajax调用会被缩短。在控制台上运行时,API工作正常。我只是在努力将数据传输到/ test页面,所以我可以为它设置样式并为用户显示它。我正在使用node.js btw。

我得到的完整错误是:

 Uncaught SyntaxError: Unexpected token <                           hello.js:1 

它指的是doctype声明。 我在检查网页时注意到了一些事情。

     <p> ID Passed: hello.js </p>

这是在hello.js文件中...出于某种原因。搜索词仍然可以正常呈现。它会说ID通过:选举

test.hbs

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="hello.js"></script>

<h2>This is the test!!!</h2>
<p>ID Passed: {{ output }} </p>


<p2 id = "tweets">  



</p2>

hello.js

$(document).ready(function() {
    $.ajax({
  type: "GET", //I have tried deleting both type and dataType and still fails
  dataType: "json", //I have also tried changing this to jsonp. No dice.
  url: './srch.js'

}) //Push the data from calling srch.js into the "tweets" id on test.hbs
.done(function(data) {
 document.getElementById("tweets").innerHTML=data;
})
.fail(function() {
  alert("Ajax failed to fetch data")
}) 
});

srch.js - &gt;存储API的位置。

var Twit = require('twit');
var config = require('./views/config');
var sentiment = require('sentiment');
var T = new Twit(config);
var params = {

    q: "election", //I know that the search term from the user isnt put in, I just want to see it print something on the page at all. 
    count: 1,
    type: 'recent'
};

T.get('search/tweets', params, gotData);

function gotData(err, data, response) {
  console.log(err);

//Output only the text of the json data returned by the search, and perform sentiment analysis with the sentiment module. 

  for(var i = 0; i<data.statuses.length; i++) {
    document.write("Tweet " + (i + 1) + ":")
    document.write("***********************")
    document.write(data.statuses[i].text)
    document.write(sentiment(data.statuses[i].text).score) 
    document.write("***********************")
  }

}

1 个答案:

答案 0 :(得分:0)

我认为你回来的是html而不是json。我看到有时当url无效或者你没有经过身份验证时,你会得到html标记。

我会仔细检查ajax调用的返回并将其显示在控制台中。