2011-07-14 45 views
0

我正在尝试创建一个动态加载内容的Web应用程序。当我这样做时,当然我想在本地进行开发,即本地主机。某些“功能”是一种形式,当发布该表单时,将从服务器发送电子邮件。因为我想访问服务器电子邮件功能,所以我将该特定页面链接到服务器。但问题是它没有加载。将外部内容加载到本地主机上的服务器上

在我的脚本下面它的作品,但如果我改变了评论,所以我指向iandapp.com,比我只是空字符串。这是完全相同的页面,只是将其复制到服务器。

$("#support").click(function() { 
    if(support_page==null){ 
     //$("#section2").load("http://www.iandapp.com/smic/subscription_2.php", function(data) { 
     $("#section2").load("subscription_2.php", function(data) { 
      support_page = data; 
     }); 
    } 

脚本位于主页面(index.html),内容应该加载到id为“section2”的div中。

我知道(support_page == null)是真的,因为我在它停止的地方有一个断点。

请让我知道什么是probelm,以及我如何解决它。我一直在努力工作数小时。

在此先感谢!

回答

0

谷歌约

cross domain ajax requests

。这在浏览器级别被禁用。有许多方法可以规避这一点,包括客户端和服务器端。

0

使用.getJSON()而不是​​,这个method支持跨域请求。你需要确保你的PHP脚本做类似如下:

echo $_GET['callback'] . '(' . json_encode($results) . ')'; 

jQuery将因为它要你“叫”回调函数,当你的脚本返回追加像?callback=callback0234请求的URL。所以,你的脚本的输出可能是这个样子:

callback0234('mydata': '<p>This is my data</p>') 
+0

谢谢,但它仍然无法正常工作。我更改为$ .getJSON(“http://iandapp.com/smic/subscription_2.php”,函数(数据)并尝试使用$。(#support“)。获取”ReferenceError:数据未定义“。我的方式调用getJson不正确? – Nicsoft

+0

@nic我更新了答案,让我知道是否有帮助。 –

0

什么关于服务器的HTTP响应添加适量的标题,可让跨域?

Access-Control-Allow-Credentials: true 
Access-Control-Allow-Origin: * 
Access-Control-Origin: * 
+0

谢谢!我试过这样没有成功: <?php header('Access-Control-Allow-Credentials:true ');> 隐而不宣实际上,我没有看到萤火虫中的标题,但它应该,不应该吗? – Nicsoft

+0

是的,您应该在调用您的subscription_2.php时看到带萤火虫的标头 – ChristopheCVB

+0

Access-Control-Allow-Origin的通配符值不适用于Access-Control-Allow-Credentials:true。请尝试只添加Access-Control-Allow-Origin:*到头部,看看它是否适合你。以下是有关标题的详细说明:https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS。 –

相关问题