我正在检索网站,组和用户的列表。我将它们连接并放置在它们各自的变量中,并将它们以查询字符串形式发送到aspx文件。Jquery发布和丢失数据
var url = (Page._BASE_URL + 'Mo/Un/Unis/Unifie.aspx?' + getUserSecurityParameter() +
'&action=sending&userIds=' + encodeURI(userIds) +
'&siteName=' + encodeURI(site) +
'&groupName=' + encodeURI(groupName) +
'&siteList=' + encodeURI(siteList) +
'&team=' + encodeURI(team) +
'&users=' + encodeURI(users)+
'&site=' + encodeURI(site));
我使用此代码从ajax帖子检索这些值。我注意到,当我注意到检查aspx源码时,组和站点之间的数据太多以至于用户变量和数据从不存在。
var siteName = $.getUrlVar('siteName');
var groupName = $.getUrlVar('groupName');
var users= $.getUrlVar('users');
有没有更好的方法来做到这一点,所以我不会有这个问题?由于丢失了用户数据,它会在后端写入查询。提前致谢。
这就是我现在拥有的。当我尝试发送数据时,出现错误。我不能看到错误是不幸的。
var requestParameters =
{
siteList: siteList,
team: team,
users: users,
siteName: site,
site: site,
group: group,
userId: userId,
securityCode: getUserSecurityParameter()
};
$.ajax({
url: Im._B + 'Mo/Uni/Unif/Ui.aspx/getValues',
type: "POST",
data: JSON.stringify(requestParameters),
contentType: "application/json; charset=UTF-8",
done: function (requestParameters, textStatus, jqXHR) {
var left = Math.floor((screen.width - 545)/2);
windowManager.openFixed(url, 'DocumentListWindow', left, /* top: */ 10, /* width: */ 1480, /* height: */ 840);
},
error: function (jqXHR, textStatus, errorThrown) {
alert('An error occurred trying to send the data.');
}
});
Ui.aspx.cs
[System.Web.Services.WebMethod]
public static string getValues(string requestParameters)
{
string mystuff = requestParameters;
return mystuff;
}
ERROR “{\” 消息\ “:\” 操作无效由于对象的当前状态\ “\” 堆栈跟踪\“:\”
如果这些变量中包含大量数据,则不应将它们作为url查询参数传递,您应该将它们放在POST请求的主体中。 –
对此抱歉。请求参数。 – jan86
@AlexR我更新了问题 – jan86