2017-06-22 64 views
0

我正在檢索網站,組和用戶的列表。我將它們連接並放置在它們各自的變量中,並將它們以查詢字符串形式發送到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 「{\」 消息\ 「:\」 操作無效由於對象的當前狀態\ 「\」 堆棧跟蹤\「:\」

+1

如果這些變量中包含大量數據,則不應將它們作爲url查詢參數傳遞,您應該將它們放在POST請求的主體中。 –

+0

對此抱歉。請求參數。 – jan86

+0

@AlexR我更新了問題 – jan86

回答

0

雖然技術上對查詢字符串的長度沒有限制,但單個瀏覽器do have limits。按照Alex的建議並將其轉換爲帖子。

+0

我更新了問題 – jan86