Javascript 如何在重新加载页面后在AJAX成功函数中设置值?
重新加载页面后,如何在Javascript 如何在重新加载页面后在AJAX成功函数中设置值?,javascript,jquery,json,asp.net-mvc,Javascript,Jquery,Json,Asp.net Mvc,重新加载页面后,如何在AJAX success函数中将值设置为Textarea控件 通过下面的代码,我在页面视图中得到了一个值,即“Create.cshtml” 在共享视图中,一些代码运行如下,即“\u Layout.cshtml” $(文档).ready(函数(){ var lang=MultiLanguageDemo.Cookies.getCookie(“langformmultilanguagedemo”); $(“.setLang[data lang='”+lang+']img”).a
AJAX success
函数中将值设置为Textarea
控件
通过下面的代码,我在页面视图中得到了一个值,即“Create.cshtml”
在共享视图中,一些代码运行如下,即“\u Layout.cshtml”
$(文档).ready(函数(){
var lang=MultiLanguageDemo.Cookies.getCookie(“langformmultilanguagedemo”);
$(“.setLang[data lang='”+lang+']img”).addClass(“活动lang”);
$(“.setLang”)。在(“单击”时,函数(事件){
var lang=$(this.attr(“数据lang”);
MultiLanguageDemo.Cookies.setCookie(“LangForMultiLanguageDemo”,lang,30);
位置。重新加载(true);
})
});
文本区域为
<div class="form-group">
@Html.Label("About", new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.TextAreaFor(model => model.About, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.About, null, new { @class = "text-danger" })
</div>
</div>
@Label(“About”,new{@class=“control Label col-md-2”})
@textraeafor(model=>model.About,new{htmlAttributes=new{@class=“form control”})
@Html.ValidationMessageFor(model=>model.About,null,new{@class=“text danger”})
您是否尝试过使用(如果您使用html)
或
您是否检查过数据是否不为空?因为我看到你调用函数时没有传递任何数据
也许这样做:
success: function(data) {
$("#About").html(data);
}
或
Sven给你一个解决方案
$(document).ready(function () {
if(localStorage.getItem("textareamessage") != null){
$("#About").val(localStorage.getItem("textareamessage"));
}
$(".setLang").on("click", function (event) {
var txt = $("#About").val();
var langge = $(this).attr("data-lang");
if (txt != null && txt != "" && langge != null && langge != "") {
$.ajax({
type : "POST",
url : "@Url.Action("Translation", "Home")",
traditional: true,
data: { text: txt, language: langge },
success: successFunc,
error: errorFunc
});
function successFunc(data){
alert(data);
localStorage.setItem("textareamessage", data);
$("#About").val(data);
}
}
});
});
我使用了localStorage
而不是cookies
请分享AJAX成功的响应数据
希望这将对您有所帮助。它是否在警告
数据
?是的,它的警告数据在成功函数中。@asma如果您刷新页面,那么您也希望将值从成功方法输入文本区域
?是,我试图将其设置为coockie,但何时何地必须获取?@asma请共享AJAX成功的响应数据。成功函数中的数据来自控制器操作方法。并且可以在success函数中获取它。还可以通过$(“#About”).val(data)设置数据;。。但是问题是主布局视图正在运行一些代码,它不能运行。另外请注意,success和error是不推荐的。请使用done()和fail()。你能展示一些你的html供参考吗?你是说控件?我是指你想设置值的关于或html页面。你的答案正是我想要的…非常感谢。
<div class="form-group">
@Html.Label("About", new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.TextAreaFor(model => model.About, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.About, null, new { @class = "text-danger" })
</div>
</div>
$("#About").html(data);
$("#About").append(data);
success: function(data) {
$("#About").html(data);
}
success: succesFunc(data)
$(document).ready(function () {
if(localStorage.getItem("textareamessage") != null){
$("#About").val(localStorage.getItem("textareamessage"));
}
$(".setLang").on("click", function (event) {
var txt = $("#About").val();
var langge = $(this).attr("data-lang");
if (txt != null && txt != "" && langge != null && langge != "") {
$.ajax({
type : "POST",
url : "@Url.Action("Translation", "Home")",
traditional: true,
data: { text: txt, language: langge },
success: successFunc,
error: errorFunc
});
function successFunc(data){
alert(data);
localStorage.setItem("textareamessage", data);
$("#About").val(data);
}
}
});
});