gpt4 book ai didi

php - 无法使用javascript访问json文件

转载 作者:行者123 更新时间:2023-11-30 18:27:05 24 4
gpt4 key购买 nike

我想用 javascript 读取此页面的 json 内容:http://89.92.40.250:8010/dreamteam/interface/get_event_detail.php?id=397

所以我开始了这个脚本:

var req = new XMLHttpRequest();
req.open("GET", "http://89.92.40.250:8010/dreamteam/interface/get_event_detail.php?id=397", true);
req.onreadystatechange = monCode;
req.send(null);

function monCode() {
if (req.readyState == 4) {
var doc = eval('(' + req.responseText + ')');
alert(req.responseText);
}
}

当我想显示我使用的内容时 alert(req.responseText);而且我看不到内容。另外我有一个 Firebug 语法错误:语法错误:var doc = eval('(' + req.responseText + ')');

JSONP 不可能。

我们可以提取页面的内容,然后将其转换为 JSON 格式然后解析吗??

最佳答案

如果你不能创建自己的代理,你应该使用 YQL 来避免跨域问题。

这是 id=397 的示例 url,

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20json%20where%20url%3D'http%3A%2F%2F89.92.40.250%3A8010%2Fdreamteam%2Finterface%2Fget_event_detail.php%3Fid%3D397'&format=json&diagnostics=true

你可以像这样动态设置id,

var id = 397;
var baseurl = "http://query.yahooapis.com/v1/public/yql?q=";
var q = "select * from json where url = 'http://89.92.40.250:8010/dreamteam/interface/get_event_detail.php?id="+id+"'";
var url = baseurl + encodeURI(q) + "&format=json&diagnostics=true";
var req = new XMLHttpRequest();
req.open("GET", url, true);
req.onreadystatechange = monCode;
req.send(null);

function monCode() {
if (req.readyState == 4) {
var data = JSON.parse(req.responseText).query.results;
console.log(data);
//console.log(data.event);
alert(data.event.title);
}
}​

here is a jsFiddle DEMO

Usage Limits for YQL

  • 每个应用程序限制(由您的访问 key 标识):每天 100,000 次调用
  • 每个 IP 限制:/v1/public/:每小时 2,000 次调用;/v1/yql/:每小时 20,000 次调用

关于php - 无法使用javascript访问json文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10571478/

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