私はajaxリクエストを行う2つの基本的なテストアプリケーションがあります。最初のリクエストでajaxリクエストを呼び出した後、値を取得する前にのajax data.responseTextを解析する必要があります。 2番目の場合、私はに直接アクセスすることができます。なぜ時々私はparseJSONをしなければならなかったのですか?
最初のアプリのコード:
@using (Ajax.BeginForm("JsonAdd", "People", new AjaxOptions { OnComplete = "JsonAdd_OnComplete" }))
{
...
}
function JsonAdd_OnComplete(data) {
var json = $.parseJSON(data.responseText);
if (json.Success) {
$("#PersonList").html(json.PartialViewHtml);
}
$("#addPersonModal").slideToggle();
$("#message").html(json.Message);
}
あなたが見ることができるように、私は値を取得する前に最初のdata.responseTextを解析する必要があります。私が直接アクセス値を、CAS、この1のために
@using (Ajax.BeginForm("_NewPersonToKeepInformed", "General", new { id = "NewPersonToKeepInformed" }, new AjaxOptions { Confirm = "Are you sure ?", HttpMethod = "POST", OnSuccess = "AddedSuccess" }))
function AddedSuccess(response) {
alert(response.message);
}
:
は、ここで第二のアプリです。
UPDATE
は、ここに私のコントローラのアクションメソッドさ:
public JsonResult JsonAdd(AddPersonViewModel AddPersonModel)
{
...
return Json(new
{
Success = true,
Message = "The person has been added!"
});
}
ここでは、第1次のとおりです。
public JsonResult _NewPersonToKeepInformed(NewPersonToKeepInformedViewModel viewModel)
{
...
// return newly added person in a Json object
return Json(new { message = "Ajout effectué", firstName = viewModel.FirstName, lastName = viewModel.LastName, phone = viewModel.Phone, mail = viewModel.Mail });
}
なぜ?
ありがとうございました。
「@使用する」構文とは何ですか? 'Ajax'オブジェクトはどこから来ますか? –
これはASP.NET MVCの構文です。 Ajaxオブジェクトがそこから来ています。 – Bronzato
return Json(新しい { 成功=真、 メッセージ= "人が追加されました!" }); – Bronzato