1

我在 Heroku 上运行的 rails 脚手架项目上有一个简单的 .ajax 帖子:

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js">    </script>
</head>
<body>
    <script>
    $(document).ready(function(){
        $.ajax({
            type: 'POST', url: "http://herokuserver/images.json",
            data: { image: { name: "johngalt1" } }
        });
    });
    </script>
</body>

事实证明,在 Chrome 中使用 javascript 控制台我得到:

 XMLHttpRequest cannot load http://herokuServer/images.json. Origin http://localhost:3000 is not allowed by Access-Control-Allow-Origin.

但是,当我进入 heroku 上的 rails 应用程序时,已经创建了一个名为 =>“johngalt1”的新记录。从我读过的所有内容中,我认为 javascript 的跨域问题会阻止创建记录并要求我使用 json-p 或 CORS?还是 javascript 跨域问题仅阻止通过 javascript 从服务器接收数据?

4

1 回答 1

0

它只会阻止浏览器接收数据。所以如果你不需要这篇文章的回复,你应该没问题。

编辑 - 当我在本地开发时,我为我的 mac 上的 Apache2 服务器创建了一个重写规则来解决这个限制。它创建了一个反向代理,诱使浏览器允许跨域请求。

于 2012-04-18T15:19:15.127 回答