首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >这是一个跨领域的问题吗?

这是一个跨领域的问题吗?
EN

Stack Overflow用户
提问于 2011-02-08 22:38:49
回答 2查看 304关注 0票数 1

我有一个jQuery .ajax()调用,它在IE7和8中工作得很好,在FF或Chrome中不工作。我认为这是一个跨域的问题(因为它试图跨域调用),但我的同事说,如果这是跨域问题,那么它在任何浏览器中都不起作用。我说的对吗?跨域问题是否会出现在某些浏览器中,而不出现在其他浏览器中?对这个stuff...thanks来说有点新!

更新:下面是我的代码,使用的是测试xml (与我试图显示的属性不匹配,但我只是想了解ajax调用的问题所在):

代码语言:javascript
运行
复制
$(document).ready(function () {
    $.ajax({
        type: "GET",
        url: "http://www.w3schools.com/xml/note.xml",  //test xml
        dataType: "xml", 
        success: xmlParser,
        asynch: true
    });
});

function xmlParser(xml) {

   $(xml).find("Offer:lt(3)").each(function () {

        $("#offers").append('<img src="' + $(this).find("logophotoname").text() + '"/><h1>' + $(this).find("listTitle").text() + '</h1><p>' + $(this).find("keywords").text() + '</p>');

    });

}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-08 22:46:03

你的同事是对的。它不应该在任何浏览器中工作。然而,在IE8中,微软引入了另一个类似于XmlHttpRequest -> XDomainRequest的对象,但我不认为您正在使用该对象,否则IE7将失败。(这里有更多信息)

jQuery的ajax函数可用于使用JSONP进行跨域调用.然后,它将在DOM树中注入一个脚本对象,而不是使用具有跨域限制的XmlHttpRequest对象。

(这篇文章只与你的解释有关,如果你发布一些代码,它会有帮助。)也许它在IE 7/8中工作还有其他原因)

票数 1
EN

Stack Overflow用户

发布于 2011-02-09 00:07:32

从理论上讲,您不能进行跨域调用,但是如果您真的愿意,有两个选项: 1.有一个基于服务器的代理脚本2. JSONP。

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

https://stackoverflow.com/questions/4939341

复制
相关文章

相似问题

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