首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ajax提供空白响应

ajax提供空白响应
EN

Stack Overflow用户
提问于 2012-09-03 17:28:28
回答 1查看 565关注 0票数 0

我将一个xml内容存储在位置http://localhost:8080/cleo-primer/rest/elements/search?uid=1&query=facebook中。

代码语言:javascript
复制
<element-list><element><term>facebook</term><name>Bing Facebook</name></element></element-list>

我正在发送get请求

代码语言:javascript
复制
 $.get('http://localhost:8080/cleo-primer/rest/elements/search', { uid: 1, query: request.term }, function(responseData){alert(responseData);});

但是这给了我一个空白响应,当我使用firebug进行检查时,它显示moz-nullprincipal:{1e7688d3-7b3c-43ae-9142-5b183a7cbfda}解析错误:找不到元素位置:XML第1行,第1列: inside XML

EN

回答 1

Stack Overflow用户

发布于 2012-09-03 17:37:30

您正在进行不允许的跨域呼叫。您正在从:http://localhost呼叫http://localhost:8080。调用不会执行,也不会有响应。Chrome/Safari会在控制台中显示如下错误:

XMLHttpRequest无法加载http://targeturlhttp://localhost不允许访问-控制-允许-源。

更多信息:http://en.wikipedia.org/wiki/Same_origin_policy#Origin_determination_rules

如果您可以对后端进行修改,使其发送正确的报头,将解决您的问题……(Access-Control-Allow-Origin yourdomainAccess-Control-Allow-Origin *表示allow all)

更多信息:http://enable-cors.org

还有其他几个选项需要完成...

  • 如果您使用apache:您可以使用apache proxy将端口8080上的位置转发(映射)到不同的端口(如默认端口80)。我不久前发布了一个关于它的question/answer ...
  • 您也可以求助于jsonP (它不是xml而是json)使用一种通过脚本标记加载资源的技术,如果您的json适应了它,您可以加载json。(将其包装为回调函数调用)
  • 如果您不能做到这一点,那么您唯一的选择就是代理脚本。代理脚本是一种中间件。您向脚本发出请求,脚本将获取数据并将其返回给您。例如php proxy。你可以在asp,jsp,flash甚至java applet中做同样的事情。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12245184

复制
相关文章

相似问题

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