我使用的网络服务可以让我轻松创建联系表单并为我管理消息。我有这个直接的链接,工作正常,并打开一个新的页面与联系表格。
这是链接: http://apps.cyberth.com/webform/?event=form.show&formId=8957&key=B5220027CF
我在我的网站中使用jQuery将页面加载到div和网站上的其他地方这段代码工作得很好:
$('#news').load("news.html #news");
但是使用几乎相同的代码片段与url格式不再有效:
$("#contactForm").load("http://apps.Cyberth.com/webform/?event=form.show&formId=8957&key=B5220027CF");
导致这种情况的原因是什么?我读到这可能是一个安全问题,阻止jQuery Ajax加载未存储在本地服务器上的页面。
此外,我如何才能确定未来的问题?
答案 0 :(得分:2)
由于同源策略,浏览器不允许跨域请求。
一种方法是建立一个网络代理,例如
从客户端调用您的服务器代理,如
$.ajax({
url:'/your/domain',
//other params
success:function(data){
//data received that is sent by the server
}
});
在您的服务器端,您正在使用的语言/技术向所需服务发出请求,如果是http://apps.Cyberth.com/webform/?event=form.show&formId=8957&key=B5220027CF
然后将响应发送给客户端。
这里有一些有用的链接
http://devlog.info/2010/03/10/cross-domain-ajax/
http://msdn.microsoft.com/en-us/library/dd573303%28v=vs.85%29.aspx
http://james.padolsey.com/javascript/cross-domain-requests-with-jquery/
答案 1 :(得分:0)
出于安全原因,AJAX无法跨域。