gpt4 book ai didi

javascript - 语法错误 : missing ; before statement in JSON

转载 作者:行者123 更新时间:2023-11-30 12:46:50 24 4
gpt4 key购买 nike

我在响应正确时收到一个非常奇怪的错误,我可以看到 JSON 内容:

请求如下:

$.ajax({
type: "GET",
url: urlTwitter,
contentType: "application/json",
dataType: "jsonp",
async: false,
success: function (resp, status, xhr) {
$("#message").html("STATUS: " + xhr.status + " " + xhr.statusText + "\n" + resp);
$("#message").hide();
$.each(resp, function() {
$.each(this, function(i, tweet) {
arrayTweets.push(tweet);
});

});

displayTweets();
},
error: function(resp, status, xhr){
$("#message").html("ERROR: " + xhr.status + " " + xhr.statusText + "\n" + resp.e);
$("#message").show();
}
});

这是响应中的内容:

{"tweet":[{"text":"RT @OSCARHAROTASEND: MUYYY CONTENTO Y MUYYY ORGULLOSO del trabajo d mi hermanito @pablonieto22 en la presentación d su TEAM @CalvoTeam anoc…","user":"Jemurillove"}]}

任何人都有线索,我一直在与这半天战斗。

感谢任何帮助。

谢谢,

编辑:

这是我的资源,如果有帮助的话。 Tweet 对象用 @XmlRootElement 注释:

@GET
@XmlElement(name = "tweet")
@Path("/retrieveTweets")
@Produces(MediaType.APPLICATION_JSON)
public List<Tweet> retrieve(@QueryParam("lat") Double Latitude, @QueryParam("lon") Double Longitude, @QueryParam("rad") Double Radius, @QueryParam("from") String From, @QueryParam("to") String To) {
//List<Status> tweets = null;
List<Tweet> lTweets = new ArrayList<Tweet>();
boolean status = false;

Twitter twitter = new TwitterFactory().getInstance();

AccessToken accessToken = new AccessToken(TwitterInterface.ACCESS_TOKEN, TwitterInterface.ACCESS_TOKEN_SECRET);
twitter.setOAuthConsumer(TwitterInterface.CONSUMER_KEY, TwitterInterface.CONSUMER_SECRET);
twitter.setOAuthAccessToken(accessToken);

try {
Query query = new Query("");
GeoLocation geo = new GeoLocation(Latitude, Longitude);
query.setGeoCode(geo, Radius/1000, Query.KILOMETERS);
query.setCount(100);
query.setSince(From);
query.setUntil(To);
QueryResult result;
result = twitter.search(query);
List<Status>tweets = result.getTweets();
for (Status tweet : tweets) {
System.out.println("@" + tweet.getUser().getScreenName() + " - " + tweet.getText() + " - " + tweet.getCreatedAt());
Tweet t = new Tweet();
t.setUser(tweet.getUser().getScreenName());
t.setText(tweet.getText());
lTweets.add(t);
}
}
catch (TwitterException te) {
te.printStackTrace();
System.out.println("Failed to search tweets: " + te.getMessage());
System.exit(-1);
}

return lTweets;

最佳答案

您正在请求 jsonp 响应,但响应是纯 JSON。

您可以将请求类型更改为“JSON”——如果请求不违反跨域限制,或者更改生成响应的任何内容以将响应包装为 JSONP。

有关 JSONP 的更多信息,请查看 jQuery docs

总而言之,jQuery 会自动向它请求的 url 添加一个 callback=? 参数。您的服务器端代码需要将该参数的值用作您的响应应使用作为参数传递的 JSON 调用的 javascript 函数的名称。

例如,如果callback=helloWorld,您的响应应该是:

helloWorld({"tweet": ... });

关于javascript - 语法错误 : missing ; before statement in JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22267751/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com