2012-01-06 83 views
0

jQuery的获得()我取出由使用jQuery获得(另一页一些内容)这样的 -问题与IE

$.get("http://www.somesite.co.uk/generalsite/PopDownMenu", function (htmlContent) { 
    $("#masternav").html(htmlContent);   
}); 

这个脚本工作正常除了IE以外的浏览器。

它是我的脚本还是我从中提取的页面?

+0

如果它在其他浏览器中有效,我看不到任何在IE中不起作用的原因。回调是否触发? – 2012-01-06 12:44:54

+0

这是您的第三方网站吗?在这种情况下,你可能是同源策略的受害者http://en.wikipedia.org/wiki/Same_origin_policy – 2012-01-06 12:45:53

+0

@JamesAllardice,我无法找到它在其他浏览器上工作的原因,因为他似乎违反了相同的原产地政策。 – 2012-01-06 12:46:15

回答

2

我取出由使用jQuery获得(另一页一些内容)这样

你似乎违反same origin policy。您无法发送跨域AJAX请求。因此,除非您的网站托管在http://www.watchfinder.co.uk/上,否则出于安全原因,您无法将AJAX请求发送到此域。您可以查看following article以了解可能的解决方法。

+0

我的网站托管于http://thewatch.watchfinder.co.uk,这是我可以在页面上做什么,以允许从该表中访问? – seanjacob 2012-01-06 12:48:25

+0

@seanjacob,不,你违反了相同的原产地限制政策。 'thewatch.watchfinder.co.uk'和'www.watchfinder.co.uk'被视为跨域。阅读我在我的答案中链接的文章,了解可能的解决方法。 – 2012-01-06 12:49:19

+0

@DarinDimitrov:令人惊讶的是,来自OP问题的uri似乎在跨域的ajax调用中工作得很好。可能是有某种CORS在运行?至少在FF和Chrome中运行良好。检查http://jsfiddle.net/MfVea/ – jAndy 2012-01-06 12:51:21