単一ページのWebアプリを開発するときに問題が発生します。
jQueryがjsonをHTTPPOSTアクションに送信する場合:
$('#user_dialog .create').click(function () {
var user = getInfoUser();
$.ajax({
url: '@Url.Action("Create", "User")',
async: false,
type: 'POST',
data: JSON.stringify(user),
datatype: 'json',
contentType: 'application/json;charset=utf-8',
success: function (data) {
$('#user_dialog').dialog("close");
}
});
});
コントローラのHTTPPOSTアクションがリクエストを処理します
[HttpPost]
public String Create(UserAddViewModel model)
{
try
{
// TODO: Add insert logic here
return JsonConvert.SerializeObject(true);
}
catch
{
return JsonConvert.SerializeObject(false);
}
}
そして、私のjQuery成功コールバック関数が起動され、データ「true」が受信されます。
しかし、問題はこの後です。ページは/ User /Createviewページにリダイレクトされます
ページにリダイレクトしたくないので、jQueryコードでUIを処理したいだけです。
それはHTTPPOSTアクションだからですか?
実際の理由とそれを修正する方法は何ですか?