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を介してサーバーからデータを受信できないだけですか?