で働いていません。これはIEで完全に動作します。私は、ブラウザのリクエストのリンクを貼り付けた場合、私はJSON応答を得るかが、私はこのコードを実行するとき。私はYahooやGoogleのリクエストに対して何の返信もしません。 IEでうまく動作します。ヤフー/グーグル・ファイナンスJSONは、これは私のJSコードであるクロム
//var url1 = "http://finance.google.com/finance/info?client=ig&q=AAPL";
var yah_url1 = 'http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20("';
var yah_url2 = '")%0A%09%09&format=json&diagnostics=true&env=http%3A%2F%2Fdatatables.org%2Falltables.env&callback=';
function btn_stocks_click()
{
var div_table = document.getElementById("div_stock_table");
var btn_stocks = document.getElementById("btn_stocks");
div_table.style.display = (div_table.style.display == 'none') ? 'block' : 'none';
btn_stocks.value = (btn_stocks.value == "Show Stocks") ? "Hide Stocks" : "Show Stocks";
getJSONReply("AAPL");
}
function getJSONReply()
{
var req = yah_url1.concat(arguments[0]);
var url_req = req.concat(yah_url2);
alert(url_req);
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function()
{
if (xhr.readyState == 4 && xhr.status == 200)
{
alert(xhr.responseText.length);
}
}
xhr.open('GET', url_req, true);
xhr.setRequestHeader('Access-Control-Allow-Headers', '*');
xhr.setRequestHeader('Access-Control-Allow-Origin', '*');
xhr.setRequestHeader('Access-Control-Allow-Methods', 'GET');
xhr.addEventListener("load", reqListener);
xhr.send();
}
function reqListener() // This was coded for Google Finance reply as it had other characters apart from reply.
{
var sub1 = this.responseText.substring(5,this.responseText.length);
var sub2 = sub1.substring(0, sub1.length - 2);
parse_JSON(sub2);
}
function parse_JSON()
{
var response = arguments[0];
alert(arguments[0]);
}
これはXMLHttpRequestのは、プリフライトリクエストにhttp://query.yahooapis.com/v1/public/yql?q=select%20%2a%20from%20yahoo.finance.quotes%20where%20symbol%20in%20%28%22AAPL%22%29%0A%09%09&env=http%3A%2F%2Fdatatables.org%2Falltables.env&format=json
レスポンスをロードすることはできません
アクセス制御チェックを通過しないクロームデバッガに表示されたばかりのエラーです:いいえ「アクセス制御 - 許可 - 起源」ヘッダが上に存在します要求されたリソースしたがって、原点「ヌル」はアクセスが許可されません。
のXMLHttpRequestが 'http://query.yahooapis.com/v1/public/yql?q=selectをロードできません変換するAJAXを使用して、このメソッドを呼び出し、
WebClient
を使用して、代替ソリューションを持っています%20%2Aの%20from%の20yahoo.fina ...プリフライト要求に対して22%、29%0A%09%09&ENV =のhttp%3A%2F%2Fdatatables.org%2Falltables.env&フォーマット= json.' 応答は、アクセス制御を渡しませんチェック:いいえ「アクセス制御 - 許可 - 起源」ヘッダは、要求されたリソース上に存在します。したがって、原点「ヌル」はアクセスが許可されません。 –、あなたの質問にそれをしてください置きます。引用形式を使用してください。 – isherwood