AJAX リクエストを手動で作成しようとしています。クライアント側では、次のようなものがあります。
function saveBatterySpecs(id) {
var url = '@Url.Action("SaveBatterySpecs", "Catalog")';
$.ajax({
type: "post",
url: url,
data: {
art: $("#art" + id).val(),
brand: $("#brand" + id).val(),
name: $("#name" + id).val(),
country: $("#country" + id).val(),
volt: $("#volt" + id).val(),
cap: $("#cap" + id).val(),
sp: $("#sp" + id).val(),
powc: $("#powc" + id).val(),
term: $("#term" + id).val(),
mount: $("#mount" + id).val(),
adds: $("#adds" + id).val(),
length: $("#length" + id).val(),
width: $("#width" + id).val(),
height: $("#height" + id).val(),
guar: $("#guar" + id).val()
},
dataType: 'text', //or json, no difference
success: hideEditForm(id)
});
そしてサーバー上で単純な
public ActionResult SaveBatterySpecs(string batteryData)
{
if (Request.IsAjaxRequest())
{
Debug.WriteLine(batteryData);
return PartialView("~/Views/Shared/EmptyView.cshtml");
}
else
return null;
}
コントローラーのブレークポイントが機能し、すべて OK です。ブラウザー デバッガーは、データを含む通常の要求を示します。しかし、私はそれを処理できません - batteryData は常に null です。私が間違っていることは何ですか?フォームを避けて現在使用できないため、フォームを使用したソリューションは役に立ちません。タイプをテキストから json に切り替えることはできますが、これは役に立ちません。