でこんにちは、私は私がここで更新を行うにはPUTメソッドを使用して、コントローラにAjaxでいくつかのデータを送信しようとしているいくつかの助けがJavaScriptとAjaxコードである必要があります。はHttpPutルートコントローラ
function UpdateProduct() {
var id = location.pathname.split('/')[2];
var product = {
Name: $("#txtName").val(),
Description: $("#txtDescription").val(),
Price: $("#txtPrice").val(),
SubCategoryId: $("#txtSubCategoryId").val(),
CompanyId: $("#txtSubCategoryId").val(
ProductCode: $("#ProductCode").val(
Barcode: $("#Barcode").val(
Brand: $("#txtBrand").val(),
Material: $("#txtMaterial").val(),
Date: $("#txtDate").val(),
};
$.ajax({
url: "/UpdateProduct/"+id,
type: "PUT",
dataType: "json",
data: product,
success: function (result) {
alert('Successful');
},
error: function (e) {
alert(e.error);
}
});
};
と私のコントローラコード:私は郵便配達でそれをテストしているので、
[HttpPut]
[Route("UpdateProduct/{id}")]
public void UpdateProduct(int id, ProductsBE product)
{
var api = ConfigurationManager.AppSettings["apiUrl"];
var productsById = new ProductsRep();
var searchResponse = productsById.UpdateProduct(product,id, api);
}
APIが働いています。
あなたのオブジェクトを変換するために
JSON.stringify
を使用する必要がありますあなたがjavascriptを実行すると、ブラウザは要求を送信しようとしましたか?ブラウザはどのURLを要求しましたか?リクエストのポストボディが正しい形式であったか?ブラウザがjavascriptで送信する要求の例を与え、郵便配達要求などからの要求とどのように異なるのかを調べてください。 – caesayあなたはnullになっていますか? – Usman
ajaxはコントローラにエラーメッセージだけを警告することさえしません...私はこのコードでもこれをテストしているため、URLは正しいです:complete:function(){ alert(this.url) }、 –