我正在尝试将 json 数据发布到服务器。我正在使用 Visual Studio 2012 RC 和 windowsazure 来托管 Web 应用程序。在发布时出现以下错误:
选项 http:// * .azurewebsites.net/api/Child 405(不允许的方法)jquery-1.7.1.js:8102
XMLHttpRequest 无法加载 http:// * .azurewebsites.net/api/Child。Access-Control-Allow-Origin 不允许 Origin null。
我的客户端代码是:
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);
}
}
请帮帮我
谢谢,