0
我有这个在我的HTML文件:在Chrome浏览器的调试器返回JSON解析器返回undefined
var jsonReturn = 'http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22YHOO%22%2C%22AAPL%22%2C%22GOOG%22%2C%22MSFT%22)%0A%09%09&env=http%3A%2F%2Fdatatables.org%2Falltables.env&format=json';
var stockCount = jsonReturn.query.count;
错误:Uncaught TypeError: Cannot read property 'count' of undefined
这里是jfiddle:http://jsfiddle.net/P6nMv/
这里的一个片段JSON返回对象:
**问题是为什么当我通过**正确解析它时未定义?jsonReturn.query.count
确实是假的。我如何获得JSON对象呢? – bouncingHippo
@bouncingHippo,我认为这是一个网页,而不是服务器端的东西。如果是这种情况,那么你有一个跨越原点的问题。您可以使用CORS(有限浏览器功能),JSON-P(古怪,但可以与任何东西协同工作),或者制作服务器端代理,以便使用XHR请求。我不知道雅虎是否支持CORS或JSON-P。找出。如果可用,JSON-P可能是最好的选择。如果你最终做XHR,请查看https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest/Using_XMLHttpRequest。 – Brad
@bouncingHippo,看起来像Yahoo!确实支持JSON-P。 http://stackoverflow.com/questions/9237593/using-the-yahoo-weather-api-with-json-and-the-script-tag – Brad