我在JavaScript中使用REST API。当我多次请求REST API时,它会返回(响应)无效的会话ID,但我提供了有效的会话ID,因为我使用此会话ID拉取了数据。
任何人都遇到过这个问题?SugarCRM REST API会话经常过期
function sugarLogin(url, user, password) {
var request = new XMLHttpRequest();
var params = {
user_auth: {
user_name: user,
password: password
},
name_value_list: [{
name: 'notifyonsave',
value: 'true'
}]
};
var json = $.toJSON(params);
var crm_api = url;
request.open("POST", crm_api, true);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.onreadystatechange = function() {
if (request.readyState == 4 && request.status == 200) {
var response = request.responseText;
var response_obj = jQuery.parseJSON(response);
if (response_obj) {
if (response_obj.name && response_obj.name == "Invalid Login") {
//invalid login
ProcessingFlag = 3;
} else {
session_id = response_obj.id;
ProcessingFlag = 1;
}
}
} else if (request.readyState == 4 && request.status == 404) {
ProcessingFlag = 2;
}
}
request.send("method=login&input_type=JSON&response_type=JSON&rest_data=" + json);}
我在上面的代码用于login
并设置session_id
(全球范围) ,然后使用这个会话ID,我呼吁REST API的search_by_module
功能。 它工作正常,但如果频繁发出多个请求,则表示无效的会话ID。
虽然我曾试图再次调用login
功能使search_by_module
调用之前。 主要问题是当我从search_by_module
返回的响应和呈现的HTML之后尝试调用其他REST函数时,它说我无效的会话。我想不通为什么会而我们知道,在服务器会话24的分钟(服务器在那里我们糖例如托管)
我已经更新了我的问题并添加了登录代码,并且使用了与此相同的search_by_module,但rest_data和调用方法不同。 –