jQuery AJAXで呼び出す必要があるWebAPIメソッドを1つ使用しています。以下は、AJAX呼び出しに使用するjQueryのコードです:WebAPIメソッドを使用しないAJAX呼び出し
var BlogAndStoryComment = new Object();
BlogAndStoryComment.CommentID = 0;
BlogAndStoryComment.CommentUserName = userName;
BlogAndStoryComment.CommentText = commentText;
BlogAndStoryComment.CommentApprovedByUserID = 0;
BlogAndStoryComment.CommentDate = "date";
BlogAndStoryComment.HtmlComment = commentHtml;
BlogAndStoryComment.CommentIsSpam = 0;
BlogAndStoryComment.CommentIsApproved = 0;
BlogAndStoryComment.CommentEmail = email;
BlogAndStoryComment.CommentCount = 0;
BlogAndStoryComment.OnCommentID = 0;
BlogAndStoryComment.BlogID = blogID;
BlogAndStoryComment.SiteID = siteID;
BlogAndStoryComment.RowCount = 0;
$.ajax({
url: "http://localhost:55052/API/comments/GetAndPostBlogComments",
type: "POST",
data: JSON.stringify(BlogAndStoryComment),
contentType: 'application/json; charset=utf-8',
dataType: "json",
success: function(response) {},
error: function(jqXHR, textStatus, errorThrown) {},
failure: function(response) {}
});
これは私のWebAPIの方法である:
[Route("api/comments/GetAndPostBlogComments")]
[VersionedRoute("", 1)]
[ResponseType(typeof(HttpResponseMessage))]
[HttpPost]
public IHttpActionResult GetAndPostBlogComments([FromBody] BlogAndStoryComment comment)
{
}
私はAJAXからこのメソッドを呼び出すと、それが与えるerror
機能に当たっている呼び出します私はstatustext
または"error"
です。しかし、私がPostmanを呼び出すと、メソッドは正しく動作しています。どうした?あなたはJSON形式で送信する場合は、あなただけの定義クライアント側で
public void Post([FromBody]string name)
{
}
、::サーバ側でシンプルなタイプについては、
を使用することができますか? –
HI Roryコンソールでこのエラーが発生しました "プリフライトの応答に無効なHTTPステータスコード405があります" – Vikash
このエラーは、リクエストがクロスドメインであると解釈されていることを意味します。 JSコードは同じ 'http:// localhost:55052'のURLで動作していますか?もしそうでなければ、それはあなたの問題です。 CORSヘッダーを応答に追加するようにAPIを修正する必要があります。 –