0

这是我在 HTML 文件中的 javascript 函数中的代码

var url = 'http://query.yahooapis.com/v1/public/yql';
        var startDate = '2012-01-01';
        var endDate = '2012-01-08';
        var jsonData = encodeURIComponent('select * from yahoo.finance.historicaldata where symbol in ("YHOO","AAPL","GOOG","MSFT") and startDate = "' + startDate + '" and endDate = "' + endDate + '"');
        $.getJSON(url, 'q=' + data + "&env=http%3A%2F%2Fdatatables.org%2Falltables.env&format=json", function(){alert("done!");}); 

当我在浏览器中打开文件时,我的其他功能除了上述功能之外,因为它产生:

GET http://query.yahooapis.com/v1/public/yql?q=[object%20Object]&env=http%3A%2F%2Fdatatables.org%2Falltables.env&format=json 400 **(Bad Request)** jquery-1.8.3.min.js:2
send jquery-1.8.3.min.js:2
v.extend.ajax jquery-1.8.3.min.js:2
v.(anonymous function) jquery-1.8.3.min.js:2
v.extend.getJSON jquery-1.8.3.min.js:2
drawChart
4

2 回答 2

1

应该这样:

$.getJSON(url, 'q=' + data + "&env=http%3A%2F%2Fdatatables.org%2Falltables.env&format=json", function(){alert("done!");}); 

是这个吗?

$.getJSON(url, 'q=' + jsonData + "&env=http%3A%2F%2Fdatatables.org%2Falltables.env&format=json", function(){alert("done!");}); 
于 2012-11-20T21:29:58.193 回答
1

请注意——我有几个项目(Java 和 JavaScript)调用了这个 API。它们通常可以工作,但偶尔会失败,400没有对代码进行任何更改,然后在几个小时/几天后再次工作,而不更改代码。我认为如果服务器有问题,它可能会返回这个而不是 500 范围内的正确错误(服务器错误 - 是我,不是你)

400 范围内的错误应该是来自服务器的消息,类似于“是你,不是我——在你再次发送之前修复你的请求”,但我认为这个 API 不是这种情况。

简而言之-可能是他们而不是您!

于 2016-10-24T09:47:20.523 回答