json データをサーバーに投稿しようとしています。Web アプリケーションのホスティングに Visual Studio 2012 RC と windowsazure を使用しています。投稿時に次のエラーが発生します。
オプション http:// * .azurewebsites.net/api/Child 405 (メソッドは許可されていません) jquery-1.7.1.js:8102
XMLHttpRequest は http:// * .azurewebsites.net/api/Child を読み込めません。Origin null は、Access-Control-Allow-Origin では許可されていません。
私のクライアント側のコードは次のとおりです。
function PostChild() {
var Chld = {};
Chld.Child_FirstName = $("#Child_FirstName").val();
Chld.Child_LastName = $("#Child_LastName").val();
Chld.Child_Age = $("#Child_Age").val();
var createurl = "http://*.azurewebsites.net/api/Child";
$.ajax({
type: "POST",
url: createurl,
contentType: "application/json; charset=utf-8",
data: JSON.stringify(Chld),
statusCode: {
200: function () {
$("#txtmsg").val("done");
alert('Success');
}
},
error:
function (res) {
alert('Error');
$("#txtmsg").val("error" + " "
+ res.status + " " + res.statusText);
}
});
}
私のサーバー側のコードは次のとおりです。
public HttpResponseMessage PostChild(Child child)
{
if (ModelState.IsValid)
{
db.Children.Add(child);
db.SaveChanges();
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, child);
response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = child.ChildID }));
return response;
}
else
{
return Request.CreateResponse(HttpStatusCode.BadRequest);
}
}
お願い助けて
ありがとう、