次のような 3 つのパラメーターを持つ MVC3 アクション メソッドがあります。
var url = "/Question/Insert?" + "_strTitle='" + title + "'&_strContent='" + content + "'&_listTags='" + listTags.toString() + "'";
そして、これをAJAXではなく通常のJavaScript関数で呼び出したい(AJAX関数を使用する必要がないため)この関数を使用しようとしましたが、機能しませんでした:
window.location.assign(url);
QuestionController の Insert アクションにジャンプしませんでした。
私を助けてくれる人はいますか?どうもありがとう
詳しくはこちら
新しい質問をデータベースに挿入したいのですが、CKeditor からデータを取得する必要があるため、以下のこの関数を使用してデータを取得して検証する必要があります
// insert new question
$("#btnDangCauHoi").click(function () {
//validate input data
//chủ đề câu hỏi
var title = $("#txtTitle").val();
if (title == "") {
alert("bạn chưa nhập chủ đề câu hỏi");
return;
}
//nội dung câu hỏi
var content = GetContents();
content = "xyz";
if (content == "") {
alert("bạn chưa nhập nội dung câu hỏi");
return;
}
//danh sách Tag
var listTags = new Array();
var Tags = $("#list_tag").children();
if (Tags.length == 0) {
alert("bạn chưa chọn tag cho câu hỏi");
return;
}
for (var i = 0; i < Tags.length; i++) {
var id = Tags[i].id;
listTags[i] = id;
//var e = listTags[i];
}
var data = {
"_strTitle": title,
"_strContent": content,
"_listTags": listTags.toString()
};
// $.post(url, data, function (result) {
// alert(result);
// });
var url = "/Question/Insert?" + "_strTitle='" + title + "'&_strContent='" + content + "'&_listTags='" + listTags.toString() + "'";
window.location.assign(url); // I try to use this, and window.location also but they're not working
});
この URL は、POST メソッドで以下の MVC アクション「Insert」を呼び出します
[HttpPost]
[ValidateInput(false)]
public ActionResult Insert(string _strTitle, string _strContent, string _listTags)
{
try
{
//some code here
}
catch(Exception ex)
{
//if some error come up
ViewBag.Message = ex.Message;
return View("Error");
}
// if insert new question success
return RedirectToAction("Index","Question");
}
挿入アクションが成功すると、新しい質問を含むすべての質問が既に挿入されているインデックス ページにリダイレクトされます。そうでない場合は、エラーページが表示されます。だから、私はAJAXを使用していません
誰か助けてくれませんか?ありがとう :)