gpt4 book ai didi

jquery - 将来自 ajax 的数据存储到 JSON 变量以供以后使用

转载 作者:行者123 更新时间:2023-12-01 03:10:50 27 4
gpt4 key购买 nike

我写了这个 Controller :

[HttpGet]
public JsonResult GetAllCustomer()
{
CustomerList customer_list = new CustomerList();
customer_list.Fill();
using (DataTable dt = customer_list.Data)
{
customer_list = null;
return Json(Utilities.GetTableRows(dt), JsonRequestBehavior.AllowGet);
}
}

我编写了这个 Ajax JS 脚本(这将填充到 HTML 表中):

var tempTable;
$.ajax({
type: 'GET',
url: '@Url.Action("GetAllCustomer", "Customer")',
success: function (data) {
var table = document.getElementById("tblCustomer");
$.each(data, function (index, item) {
var row = table.insertRow(-1);

var code = row.insertCell(0);
var Name = row.insertCell(1);
var CompanyName = row.insertCell(2);
var PhoneNumer = row.insertCell(3);
var Active = row.insertCell(4);

code.innerHTML = item["code"];
Name.innerHTML = item["customer_name"];
CompanyName.innerHTML = item["company_name"];
PhoneNumer.innerHTML = item["contact_number"];
Active.innerHTML = item["is_active"];
})
},
error: function (req, status, errorObj) {
alert(errorObj.toString());
}
});

如何将 data 存储在 $.each(data, function (index, item) 中作为临时表或(将其存储在变量中作为 JSON)以后用吗?

我在 AJAX 调用上尝试过这个:

    success: function (data) {
tempTable = data;
}

但是tempTable等于undefined;我打算为以后的用户使用 tempTable,例如当用户单击某个按钮时将其发送到 Controller 。

最佳答案

有多种存储临时数据的选项。

1. InMemory/在 $.each 之外的变量中:- 所以你会做这样的事情

var tempTable = [];
$.ajax(/*..*/).success(function(dataA){
$.each(dataA, function(i, v){tempTable.push(v);})
});

在这种情况下,您将在 ajax 成功调用后填充 tempTable。因此,无论您在何处想要使用 tempTable,请确保在 ajax 调用完成后使用它。

2.在 Html 中:- 您可以使用 JSON.stringify(dataA) 创建返回对象的 json 并将其保存在隐藏元素中。或者只使用 $.data 函数来保存与 DOM 节点关联的返回数据。这样,每当您想要使用数据时,您都必须从 HTML DOM 中检索它。看看这里 https://api.jquery.com/jquery.data/

3.在 Cookie 中:- 将数据保存在 Cookie 中将使您即使在关闭并重新打开浏览器窗口后也可以使用这些数据。您必须在应用程序的生命周期内管理数据的过期及其结构的任何变化,并且还必须对用户可能删除 cookie 的情况进行编码。将数据保存在 cookie 中很容易,看看这里 https://github.com/carhartl/jquery-cookie

4.本地存储:- 一种相对较新的 HTML5 技术。其中可以将数据保存在浏览器的本地存储中,关于管理状态的一切cookie也适用于管理本地存储的状态。看看这里 http://www.jstorage.info/

关于jquery - 将来自 ajax 的数据存储到 JSON 变量以供以后使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31283136/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com