Uncaught SyntaxError: Unexpected token :问题分析

这几天在跨域问题上遇到了一些难题,需要调用远程数据库的JSON,采用JSONP后产生Uncaught SyntaxError: Unexpected token :报错。

报错

远程服务器采用ASP.NET开发,分析原因是远程服务器不具备返回JSONP格式的函数,返回的是JSON格式数据。依靠本地服务转发或修改Chrome配置修改可实现功能。

总结浏览器跨域的解决方式有以下几种:

1.jsonp 需要目标服务器配合一个callback函数。

2.window.name+iframe 需要目标服务器响应window.name。

3.window.location.hash+iframe 同样需要目标服务器作处理。

4.html5的 postMessage+ifrme 这个也是需要目标服务器或者说是目标页面写一个postMessage,主要侧重于前端通讯。

5.CORS需要服务器设置header :Access-Control-Allow-Origin。

6.nginx反向代理这个方法一般很少有人提及,但是他可以不用目标服务器配合,不过需要你搭建一个中转nginx服务器,用于转发请求。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问题最终成功解决。如果你是急性子,只想知道成功的方法,那就拉到文章末尾去吧!(#.#) 这几天在写一个页面,采用的...
    落崖惊风yxy阅读 11,903评论 1 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,208评论 0 13
  • Ajax 什么是ajax AJAX即“Asynchronous JavaScript and XML”(异步的Ja...
    恰皮阅读 4,141评论 5 48
  • 看过电影《乱世佳人》,被这个浪漫主义色彩的故事所吸引。于是去找到了这部作品的原著,玛格丽特.米歇尔的《飘》。不同于...
    二十二_阅读 443评论 1 1