Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jquery(跨域)从提要读取新闻,获取未捕获的语法错误:意外标记<;错误_Javascript_Jquery_Ajax_Xmlhttprequest_Jsonp - Fatal编程技术网

Javascript 使用jquery(跨域)从提要读取新闻,获取未捕获的语法错误:意外标记<;错误

Javascript 使用jquery(跨域)从提要读取新闻,获取未捕获的语法错误:意外标记<;错误,javascript,jquery,ajax,xmlhttprequest,jsonp,Javascript,Jquery,Ajax,Xmlhttprequest,Jsonp,我正在尝试从SharePoint网站阅读雅虎新闻提要,这是一种跨域访问。我用上面提到的代码访问,但下面的错误,我已经通过了很多网站和博客,但仍然没有运气。(我正在Chrome控制台中运行此代码) uncaughtsyntaxerror:uncontractedtoken正如我从API中看到的,当前的数据不是json,因此您会得到以下错误 将数据类型更改为xml $.ajax({ type:"GET", url:"https://www.yahoo.com/news/rss/world",

我正在尝试从SharePoint网站阅读雅虎新闻提要,这是一种跨域访问。我用上面提到的代码访问,但下面的错误,我已经通过了很多网站和博客,但仍然没有运气。(我正在Chrome控制台中运行此代码)


uncaughtsyntaxerror:uncontractedtoken正如我从API中看到的,当前的数据不是json,因此您会得到以下错误

将数据类型更改为
xml

$.ajax({
  type:"GET",
  url:"https://www.yahoo.com/news/rss/world",
  dataType: "xml",
  success: function(data){
    console.log(data);
  }
});

但是,如果API没有设置访问控制头,您可能会遇到
CORS
错误,正如我从API中看到的那样,存在的数据不是json,因此您会遇到以下错误

将数据类型更改为
xml

$.ajax({
  type:"GET",
  url:"https://www.yahoo.com/news/rss/world",
  dataType: "xml",
  success: function(data){
    console.log(data);
  }
});

但是,如果API未设置访问控制头,您可能会遇到
CORS
错误

如果您获取的是CORS来源、访问被拒绝或不允许获取这些数据, 最好的选择是在服务器端发出http get请求后解析数据,然后将其加载到HTML页面中 因此,步骤将是

  • ajax将请求一个本地文件
  • 然后,服务器端(您请求的本地文件)将执行HTTPGET请求,以便提取页面
  • 这将获得整个页面,您可以通过了解数据的标记来获取数据
  • 最后解析json对象的数据并将其传递给ajax请求

  • 如果您获取的是Cors来源,访问被拒绝或不允许获取这些数据, 最好的选择是在服务器端发出http get请求后解析数据,然后将其加载到HTML页面中 因此,步骤将是

  • ajax将请求一个本地文件
  • 然后,服务器端(您请求的本地文件)将执行HTTPGET请求,以便提取页面
  • 这将获得整个页面,您可以通过了解数据的标记来获取数据
  • 最后解析json对象的数据并将其传递给ajax请求

  • Google API提要已被弃用。因此,请尝试使用类似于rss2json站点的替代方法来读取转换为json的rss

    http://rss2json.com/
    
    例如:

    把你的rss网址放在下面

    url: "https://api.rss2json.com/v1/api.json?rss_url=" + "https://www.yahoo.com/news/rss/world",
    
    代码

    以下是正在工作的JSFIDLE:


    我认为它应该能帮助你

    谷歌API提要已经被弃用了。所以试着使用类似于rss2json站点的替代方法来阅读转换为json的rss

    http://rss2json.com/
    
    例如:

    把你的rss网址放在下面

    url: "https://api.rss2json.com/v1/api.json?rss_url=" + "https://www.yahoo.com/news/rss/world",
    
    代码

    以下是正在工作的JSFIDLE:


    我认为它应该对您有所帮助

    您是从API JSON获取数据的那一天吗?您是否尝试删除该数据类型?我确信类型不会是JSON为什么不使用RSS提要阅读器而不是发出GET请求?请看这里的一些建议:尝试使用其他替代GoogleAPI提要来获取rssdata@RishiJagati,检查我的答案。是从API JSON获取数据的那一天,您是否尝试删除该数据类型?我确信类型不会是JSON为什么不使用RSS提要阅读器而不是发出GET请求?请看这里的一些建议:尝试使用其他替代GoogleAPI提要来获取rssdata@Rishi贾加蒂,检查我的答案。没错,它给了我CORS错误。我怎样才能做到这一点?我需要另一个支持json数据类型的提要吗?您需要为其网站设置访问控制允许源标题的API,或者您需要请求相同的API。XML或JSON数据不会有什么不同,它会给我CORS错误。我怎样才能做到这一点?我需要另一个支持json数据类型的提要吗?您需要为其网站设置访问控制允许源标题的API,或者您需要请求相同的API。XML或JSON数据不会有什么不同,我很喜欢!我很惊讶我没有意识到这一点。谢谢分享,我很喜欢!我很惊讶我没有意识到这一点。谢谢分享。