首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跨源请求意味着什么?

跨源请求意味着什么?
EN

Stack Overflow用户
提问于 2014-05-22 21:04:43
回答 1查看 940关注 0票数 0

我有一个js应用程序,可以检测单、双右、双左单击等。单次单击用于异步。请求http服务器和rest将更改客户端的用户界面。但是,我无法成功地将请求发送到服务器,并在客户端看到错误。没有发送任何东西,我从我的web服务器日志中读取它。

这些是控制台上的错误消息:

代码语言:javascript
复制
[Error] XMLHttpRequest cannot load localhost:5050/h?timestampDate=2010-undefined-null&timestampHour=null. 
   Cross origin requests are only supported for HTTP.   
   send ([native code], line 0)
   h (tm, line 420)
   (anonymous function) (tm, line 72)

[Error] NETWORK_ERR: XMLHttpRequest Exception 101: A network error occurred in synchronous requests.
   h (tm, line 420)
   (anonymous function) (tm, line 72)

这里有什么问题。跨源请求意味着什么。在这里,我的ajax请求与上一个ı可以成功地完成哪些不同。

注意:第一错误引用(tm,第420行)位于js的第344行,第二行位于js的第11行。

js小提琴:http://jsfiddle.net/farukscan/6kUBy/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-22 21:36:43

错误来自URL字符串:

代码语言:javascript
复制
xmlhttp.open("GET", "localhost:5050/h" + "?" + ..., true);

当包含主机时,您需要至少在其前缀加上//,以便浏览器知道字符串是一个绝对的URL:

代码语言:javascript
复制
xmlhttp.open("GET", "//localhost:5050/h" + "?" + ..., true);
//                   ^^
代码语言:javascript
复制
xmlhttp.open("GET", "http://localhost:5050/h" + "?" + ..., true);

否则,URL将被假定为相对于当前页的地址,因此浏览器试图将localhost:5050视为文件夹名。

“交叉来源”是指同一原产地政策失败的URL。这是对客户端JavaScript可以访问的地址的安全限制。

“原产地”是来自当前地址的协议、主机名和端口的组合。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23817030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档