gpt4 book ai didi

javascript - $.post 总是将空值传入服务器

转载 作者:太空宇宙 更新时间:2023-11-04 15:33:39 25 4
gpt4 key购买 nike

好吧,这可能很简单,我对服务器进行了一个简单的 $.post 调用,发送字符串数组作为参数..

 $.get('/home/ReadCalPacTagValue', data, function (data) {
data = $.parseJSON(data);
if (data.length != 0) {
var ReadFromDb = data[0]["PushToDb"].replace('PushToDb','ReadFromDb');
var DBAckno = ReadFromDb.replace('ReadFromDb', 'DataAck');
var FIdTag = ReadFromDb.replace('ReadFromDb', 'FluidTypeId');
var UserIdTag = ReadFromDb.replace('ReadFromDb', 'UserId');
var UniqueIdTag = ReadFromDb.replace('ReadFromDb', 'UniqueRecordId');
var dbconnTag = ReadFromDb.replace('ReadFromDb', 'DatabaseConnectionString');
updateTags = [dbconnTag,FIdTag,ReadFromDb, UserIdTag,UniqueIdTag];
actionvalue = ["", fluidtypeid, '1', userid, uniqueID];
var data_Tags = { updateTags: updateTags, actionvalue: actionvalue }
$.post('/home/WriteCalPacTagValue', data_Tags, function (response) {
//var Path = "Config/16_CalPac/" + FluidType + "/" + metername + "/" + FileName
//$.cookie('FileName', FileName, { expires: 7, path: '/' });
//$.cookie('FilePath', Path, { expires: 7, path: '/' });
//$.cookie('ModuleName', "CalPac", { expires: 7, path: '/' });
//window.open('../home/CalPac', '_blank');
});
} else {
swal("Error !", "Data operation tag not binded for this product", "warning");
}
})

我的问题是,每次调用 $.post 时,服务器都会获取空值 int 参数..

 public void WriteCalPacTagValue(string[] updateTags, string[] actionValue)
{
string[] writetags = { };
DanpacUIRepository objNewTag = new DanpacUIRepository();

if (updateTags.Count() > 0)
{
actionValue[0] = ConfigurationManager.AppSettings["DBString"].ToString();
for (int i = 0; i < updateTags.Count(); i++)
{

writetags = updateTags[i].Replace("&lt;", "").Replace("&gt;", ">").Split('>');
objNewTag.WriteTag(writetags, actionValue[i]);
}

}
}

我没有明白我在这里做错了什么..而相同的函数正在另一个 JS 文件中工作,并将一些不同的字符串放入数组 updateTags 中。

有什么帮助吗?

最佳答案

public class DataTags
{
public string[] UpdateTags { get; set; }
public string[] ActionValue { get; set; }
}

在服务器上:将方法更改为此

[HttpPost()]
public void WriteCalPacTagValue([FromBody]DataTags data_Tags)
{

}

在客户端:调用它

$.ajax({
type: 'POST',
url: '/home/WriteCalPacTagValue',
data: data_Tags,
success: function (response) {
//your code
}
});

您还可以使用 data: JSON.stringify(data_Tags) 将整个数据作为 json 字符串发送,在 javascript 代码中更改 WriteCalPacTagValue 以接受单个字符串参数并在服务器端用 C# 代码反序列化。

编辑如果您无法更改服务器端代码,您可以按照 this正如评论中所述。

关于javascript - $.post 总是将空值传入服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44590967/

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